SrgsRule Constructors
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Initialiseert een nieuw exemplaar van de SrgsRule klasse.
Overloads
| Name | Description |
|---|---|
| SrgsRule(String) |
Initialiseert een nieuw exemplaar van de SrgsRule klasse en geeft de id voor de regel op. |
| SrgsRule(String, SrgsElement[]) |
Initialiseert een nieuw exemplaar van de SrgsRule klasse op basis van een matrix met SrgsElement objecten. |
SrgsRule(String)
Initialiseert een nieuw exemplaar van de SrgsRule klasse en geeft de id voor de regel op.
public:
SrgsRule(System::String ^ id);
public SrgsRule(string id);
new System.Speech.Recognition.SrgsGrammar.SrgsRule : string -> System.Speech.Recognition.SrgsGrammar.SrgsRule
Public Sub New (id As String)
Parameters
- id
- String
De id van de regel.
Uitzonderingen
id is null.
id is leeg.
id is geen juiste regel-id.
Voorbeelden
In het volgende voorbeeld wordt een grammatica gemaakt die de zin 'Een natie die de Wereldbeker heeft gewonnen' herkent, gevolgd door de naam van een land dat de Wereldbeker heeft gewonnen. In het voorbeeld wordt een SrgsRule object gemaakt met de naam winnerRule en wordt de id WorldCupWinner doorgegeven als een String. Het SrgsOneOf object bestaat uit een matrix met nieuwe SrgsItem objecten die alternatieven bevatten die door de regel moeten worden herkend.
public void WorldSoccerWinners ()
{
// Create an SrgsDocument, create a new rule
// and set its scope to public.
SrgsDocument document = new SrgsDocument();
SrgsRule winnerRule = new SrgsRule("WorldCupWinner");
winnerRule.Scope = SrgsRuleScope.Public;
// Add the introduction.
winnerRule.Elements.Add(new SrgsItem("A nation that has won the world cup is: "));
// Create the rule for the European nations.
SrgsOneOf oneOfEurope = new SrgsOneOf(new SrgsItem[] {new SrgsItem("England"),
new SrgsItem("France"), new SrgsItem("Germany"), new SrgsItem("Italy")});
SrgsRule ruleEurope = (new SrgsRule("EuropeanNations", new SrgsElement[] {oneOfEurope}));
// Create the rule for the South American nations.
SrgsOneOf oneOfSAmerica = new SrgsOneOf(new SrgsItem[] {new SrgsItem("Argentina"),
new SrgsItem("Brazil"), new SrgsItem("Uruguay")});
SrgsRule ruleSAmerica = (new SrgsRule("SouthAmericanNations", new SrgsElement[] {oneOfSAmerica}));
// Add references to winnerRule for ruleEurope and ruleSAmerica.
winnerRule.Elements.Add(new SrgsOneOf(new SrgsItem[] {(new SrgsItem
(new SrgsRuleRef(ruleEurope))), new SrgsItem(new SrgsRuleRef(ruleSAmerica))}));
// Add all the rules to the document and make winnerRule
// the root rule of the document.
document.Rules.Add(new SrgsRule[] {winnerRule, ruleEurope, ruleSAmerica});
document.Root = winnerRule;
}
Opmerkingen
De SrgsRule constructor initialiseert de Id eigenschap. De id moet uniek zijn binnen een bepaalde grammatica.
De SrgsRule constructor genereert een FormatException in de volgende omstandigheden:
idis geen geldige XML-naam, zoals gedefinieerd in Extensible Markup Language (XML) 1.0 (Vijfde editie). Als u deze definitie wilt parafraseren, moet een geldige XML-naam beginnen met een letter, een onderstrepingsteken ('_') of een dubbele punt (':') en kunnen worden gevolgd door nul of meer NameChar-tekens (ook gedefinieerd in de XML-specificatie).idis 'NULL' of 'VOID' of 'GARBAGE'.idbevat ten minste één ongeldig regel-id-teken. Deze tekens zijn: '?', '*', '+', '|', '(', '^', '$', '/', ';', '.', '=', '', '<', '', '>[', ']', '{', '}', '\\', ', '\t', '\r' en '\n'.
Zie ook
Van toepassing op
SrgsRule(String, SrgsElement[])
Initialiseert een nieuw exemplaar van de SrgsRule klasse op basis van een matrix met SrgsElement objecten.
public:
SrgsRule(System::String ^ id, ... cli::array <System::Speech::Recognition::SrgsGrammar::SrgsElement ^> ^ elements);
public SrgsRule(string id, params System.Speech.Recognition.SrgsGrammar.SrgsElement[] elements);
new System.Speech.Recognition.SrgsGrammar.SrgsRule : string * System.Speech.Recognition.SrgsGrammar.SrgsElement[] -> System.Speech.Recognition.SrgsGrammar.SrgsRule
Public Sub New (id As String, ParamArray elements As SrgsElement())
Parameters
- id
- String
De id van de regel.
- elements
- SrgsElement[]
Een matrix met SrgsElement elementen.
Uitzonderingen
id is leeg.
id is geen juiste regel-id.
Voorbeelden
In het volgende voorbeeld wordt een grammatica gemaakt die de zin 'Een natie die de Wereldbeker heeft gewonnen' herkent, gevolgd door de naam van een land dat de Wereldbeker heeft gewonnen. In het voorbeeld wordt een openbare regel gemaakt met de naam WorldCupWinner. In het voorbeeld worden vervolgens twee SrgsRule objecten ruleEurope gemaakt en wordt een String voor de regel-id en ruleSAmericaeen SrgsElement matrix met een SrgsOneOf object doorgegeven. Vervolgens voegt het voorbeeld regelverwijzingen toe aan ruleEurope en ruleSAmerica van de regel WorldCupWinner.
public void WorldSoccerWinners ()
{
// Create a grammar from an SRGSDocument, create a new rule
// and set its scope to public.
SrgsDocument srgsGrammar = new SrgsDocument ();
SrgsRule winnerRule = new SrgsRule ("WorldCupWinner");
winnerRule.Scope = SrgsRuleScope.Public;
// Add the introduction.
winnerRule.Elements.Add (new SrgsItem ("A nation that has won the world cup is"));
// Create the rule for the European nations.
SrgsOneOf oneOfEurope = new SrgsOneOf(new SrgsItem[] {new SrgsItem("England"), new SrgsItem("France"), new SrgsItem("Germany"), new SrgsItem("Italy")});
SrgsRule ruleEurope = (new SrgsRule("EuropeanNations", new SrgsElement[] {oneOfEurope}));
// Create the rule for the South American nations.
SrgsOneOf oneOfSAmerica = new SrgsOneOf(new SrgsItem[] {new SrgsItem("Argentina"), new SrgsItem("Brazil"), new SrgsItem("Uruguay")});
SrgsRule ruleSAmerica = (new SrgsRule("SouthAmericanNations", new SrgsElement[] {oneOfSAmerica}));
// Add references to winnerRule for ruleEurope and ruleSAmerica.
winnerRule.Elements.Add(new SrgsOneOf(new SrgsItem[] {(new SrgsItem (new SrgsRuleRef(ruleEurope))), new SrgsItem(new SrgsRuleRef(ruleSAmerica))}));
// Add all the rules to the grammar and make winnerRule
// the root rule of the grammar.
document.Rules.Add(new SrgsRule[] {winnerRule, ruleEurope, ruleSAmerica});
srgsGrammar.Root = winnerRule;
}
De gemaakte grammatica heeft het volgende formulier.
<grammar version="1.0" xml:lang="en-US" xmlns="http://www.w3.org/2001/06/grammar" root="WorldCupWinner">
<rule id="WorldCupWinner" scope="public">
<item> A nation that has won the world cup is </item>
<one-of>
<item>
<ruleref uri="#EuropeanNations" />
</item>
<item>
<ruleref uri="#SouthAmericanNations" />
</item>
</one-of>
</rule>
<rule id="EuropeanNations">
<one-of>
<item> England </item>
<item> France </item>
<item> Germany </item>
<item> Italy </item>
</one-of>
</rule>
<rule id="SouthAmericanNations">
<one-of>
<item> Argentina </item>
<item> Brazil </item>
<item> Uruguay </item>
</one-of>
</rule>
</grammar>
Opmerkingen
De SrgsRule constructor initialiseert de Id eigenschap. De id moet uniek zijn binnen een bepaalde grammatica.
De SrgsRule constructor genereert een FormatException in de volgende omstandigheden:
idis geen geldige XML-naam, zoals gedefinieerd in Extensible Markup Language (XML) 1.0 (Vijfde editie). Als u deze definitie wilt parafraseren, moet een geldige XML-naam beginnen met een letter, een onderstrepingsteken ('_') of een dubbele punt (':') en kunnen worden gevolgd door nul of meer NameChar-tekens (ook gedefinieerd in de XML-specificatie).idis 'NULL' of 'VOID' of 'GARBAGE'.idbevat ten minste één ongeldig regel-id-teken. Deze tekens zijn: '?', '*', '+', '|', '(', '^', '$', '/', ';', '.', '=', '', '<', '', '>[', ']', '{', '}', '\\', ', '\t', '\r' en '\n'.