SrgsRule Construtores
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Inicializa uma nova instância da classe SrgsRule.
Sobrecargas
| SrgsRule(String) |
Inicializa uma nova instância da classe SrgsRule e especifica o identificador para a regra. |
| SrgsRule(String, SrgsElement[]) |
Inicializa uma nova instância da classe SrgsRule de uma matriz de objetos SrgsElement. |
SrgsRule(String)
- Origem:
- SrgsRule.cs
- Origem:
- SrgsRule.cs
- Origem:
- SrgsRule.cs
Inicializa uma nova instância da classe SrgsRule e especifica o identificador para a regra.
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)
Parâmetros
- id
- String
O identificador da regra.
Exceções
id é null.
id está vazio.
id não é um identificador de regra adequado.
Exemplos
O exemplo a seguir cria uma gramática que reconhece a frase "Uma nação que ganhou a Copa do Mundo é" seguida pelo nome de um país que ganhou a Copa do Mundo. O exemplo cria um SrgsRule objeto chamado winnerRule e passa o identificador WorldCupWinner como um String. O SrgsOneOf objeto consiste em uma matriz de novos SrgsItem objetos que contêm alternativas a serem reconhecidas pela regra.
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;
}
Comentários
O SrgsRule construtor inicializa a Id propriedade . O identificador deve ser exclusivo dentro de uma determinada gramática.
O SrgsRule construtor lança um FormatException nas seguintes circunstâncias:
idnão é um nome XML válido, conforme definido em Linguagem de Marcação Extensível (XML) 1.0 (Quinta Edição). Parafrasear essa definição, um nome XML válido deve começar com uma letra, um sublinhado ('_') ou dois-pontos (':') e pode ser seguido por zero ou mais caracteres NameChar (também definidos na especificação XML).idé "NULL" ou "VOID" ou "GARBAGE".idcontém pelo menos um caractere de ID de regra inválido. Esses caracteres são: '?', '*', '+', '|', '(', '), '^', '$', '/', ';', '.', '=', '<', '>', '[', ']', '{', '}', '\\', ' ', '\t', '\r' e '\n'.
Confira também
Aplica-se a
SrgsRule(String, SrgsElement[])
- Origem:
- SrgsRule.cs
- Origem:
- SrgsRule.cs
- Origem:
- SrgsRule.cs
Inicializa uma nova instância da classe SrgsRule de uma matriz de objetos 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())
Parâmetros
- id
- String
O identificador da regra.
- elements
- SrgsElement[]
Uma matriz de elementos SrgsElement.
Exceções
id está vazio.
id não é um identificador de regra adequado.
Exemplos
O exemplo a seguir cria uma gramática que reconhece a frase "Uma nação que ganhou a Copa do Mundo é" seguida pelo nome de um país que ganhou a Copa do Mundo. O exemplo cria uma regra pública chamada WorldCupWinner. Em seguida, o exemplo cria dois SrgsRule objetos, ruleEurope e ruleSAmerica, passando um String para o identificador de regra e uma SrgsElement matriz que contém um SrgsOneOf objeto . Posteriormente, o exemplo adiciona referências de regra de e ruleSAmerica para ruleEurope a regra 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;
}
A gramática criada tem o seguinte formulário.
<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>
Comentários
O SrgsRule construtor inicializa a Id propriedade . O identificador deve ser exclusivo dentro de uma determinada gramática.
O SrgsRule construtor lança um FormatException nas seguintes circunstâncias:
idnão é um nome XML válido, conforme definido em Linguagem de Marcação Extensível (XML) 1.0 (Quinta Edição). Parafrasear essa definição, um nome XML válido deve começar com uma letra, um sublinhado ('_') ou dois-pontos (':') e pode ser seguido por zero ou mais caracteres NameChar (também definidos na especificação XML).idé "NULL" ou "VOID" ou "GARBAGE".idcontém pelo menos um caractere de ID de regra inválido. Esses caracteres são: '?', '*', '+', '|', '(', '), '^', '$', '/', ';', '.', '=', '<', '>', '[', ']', '{', '}', '\\', ' ', '\t', '\r' e '\n'.