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:
id
nã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".id
conté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:
id
nã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".id
contém pelo menos um caractere de ID de regra inválido. Esses caracteres são: '?', '*', '+', '|', '(', '), '^', '$', '/', ';', '.', '=', '<', '>', '[', ']', '{', '}', '\\', ' ', '\t', '\r' e '\n'.