SrgsRule Constructeurs
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Initialise une nouvelle instance de la classe SrgsRule.
Surcharges
SrgsRule(String) |
Initialise une nouvelle instance de la classe SrgsRule et spécifie l'identificateur de la règle. |
SrgsRule(String, SrgsElement[]) |
Initialise une nouvelle instance de la classe SrgsRule à partir d’un tableau d’objets SrgsElement. |
SrgsRule(String)
- Source:
- SrgsRule.cs
- Source:
- SrgsRule.cs
- Source:
- SrgsRule.cs
Initialise une nouvelle instance de la classe SrgsRule et spécifie l'identificateur de la règle.
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)
Paramètres
- id
- String
Identificateur de la règle.
Exceptions
id
a la valeur null
.
id
est vide.
id
n'est pas un identificateur de règle valide.
Exemples
L’exemple suivant crée une grammaire qui reconnaît l’expression « Une nation qui a remporté la Coupe du monde est » suivie du nom d’un pays qui a remporté la Coupe du monde. L’exemple crée un SrgsRule objet nommé winnerRule
et passe l’identificateur WorldCupWinner
en tant que String. L’objet SrgsOneOf se compose d’un tableau de nouveaux SrgsItem objets contenant des alternatives à reconnaître par la règle.
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;
}
Remarques
Le SrgsRule constructeur initialise la Id propriété . L’identificateur doit être unique dans une grammaire donnée.
Le SrgsRule constructeur lève un FormatException dans les circonstances suivantes :
id
n’est pas un nom XML valide, comme défini dans Extensible Markup Language (XML) 1.0 (Cinquième édition). Pour paraphraser cette définition, un nom XML valide doit commencer par une lettre, un trait de soulignement ('_') ou un signe deux-points (« : ») et peut être suivi de zéro ou plusieurs caractères NameChar (également définis dans la spécification XML).id
est « NULL » ou « VOID » ou « GARBAGE ».id
contient au moins un caractère d’ID de règle non valide. Ces caractères sont les suivants : ' ?', '*', '+', '|', '(', '^', '$', '/', ' ;', '.', '=', '<',', ''', '>[', ']', '{', '}', '\\\', '\t', '\r' et '\n'.
Voir aussi
S’applique à
SrgsRule(String, SrgsElement[])
- Source:
- SrgsRule.cs
- Source:
- SrgsRule.cs
- Source:
- SrgsRule.cs
Initialise une nouvelle instance de la classe SrgsRule à partir d’un tableau d’objets SrgsElement.
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())
Paramètres
- id
- String
Identificateur de la règle.
- elements
- SrgsElement[]
Tableau d'éléments SrgsElement.
Exceptions
id
est vide.
id
n'est pas un identificateur de règle valide.
Exemples
L’exemple suivant crée une grammaire qui reconnaît l’expression « Une nation qui a remporté la Coupe du monde est » suivie du nom d’un pays qui a remporté la Coupe du monde. L’exemple crée une règle publique nommée WorldCupWinner
. L’exemple crée ensuite deux SrgsRule objets, ruleEurope
et ruleSAmerica
, en passant un String pour l’identificateur de règle et un SrgsElement tableau contenant un SrgsOneOf objet . Par la suite, l’exemple ajoute des références de règle à ruleEurope
et ruleSAmerica
à partir de la règle 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;
}
La grammaire créée se présente sous la forme suivante.
<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>
Remarques
Le SrgsRule constructeur initialise la Id propriété . L’identificateur doit être unique dans une grammaire donnée.
Le SrgsRule constructeur lève un FormatException dans les circonstances suivantes :
id
n’est pas un nom XML valide, comme défini dans Extensible Markup Language (XML) 1.0 (Cinquième édition). Pour paraphraser cette définition, un nom XML valide doit commencer par une lettre, un trait de soulignement ('_') ou un signe deux-points (« : ») et peut être suivi de zéro ou plusieurs caractères NameChar (également définis dans la spécification XML).id
est « NULL » ou « VOID » ou « GARBAGE ».id
contient au moins un caractère d’ID de règle non valide. Ces caractères sont les suivants : ' ?', '*', '+', '|', '(', '^', '$', '/', ' ;', '.', '=', '<',', ''', '>[', ']', '{', '}', '\\\', '\t', '\r' et '\n'.