Condividi tramite


SrgsOneOf Costruttori

Definizione

Crea una nuova istanza della classe SrgsOneOf.

Overload

SrgsOneOf()

Inizializza una nuova istanza della classe SrgsOneOf.

SrgsOneOf(SrgsItem[])

Inizializza una nuova istanza della classe SrgsOneOf da una matrice di oggetti SrgsItem.

SrgsOneOf(String[])

Inizializza una nuova istanza della classe SrgsOneOf da una matrice di oggetti String.

Commenti

È possibile costruire un'istanza della SrgsOneOf classe da una matrice di String oggetti, da una matrice di SrgsItem oggetti o come elenco vuoto. L'uso SrgsItem di String oggetti anziché oggetti in un elenco di alternative consente di applicare proprietà di SrgsItem a ogni elemento dell'elenco, ad esempio MinRepeat, MaxRepeat, RepeatProbabilitye Weight.

SrgsOneOf()

Origine:
SrgsOneOf.cs
Origine:
SrgsOneOf.cs
Origine:
SrgsOneOf.cs

Inizializza una nuova istanza della classe SrgsOneOf.

public:
 SrgsOneOf();
public SrgsOneOf ();
Public Sub New ()

Esempio

Nell'esempio seguente viene usato l'elemento SrgsOneOf per compilare elenchi di SrgsItem elementi contenenti nomi di paese/area geografica, ognuno dei quali può essere usato per riconoscere la frase che lo contiene. Nell'esempio viene quindi aggiunto uno degli oggetti risultanti SrgsOneOf alle rispettive regole per i paesi/aree europee e sudamericane. Più avanti, nell'esempio viene usato l'oggetto SrgsOneOf per raggruppare i riferimenti alle regole a ruleEurope e ruleSAmerica in un elenco di due alternative, una delle quali può essere usata per riconoscere l'input parlato.

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;
}

Vedi anche

Si applica a

SrgsOneOf(SrgsItem[])

Origine:
SrgsOneOf.cs
Origine:
SrgsOneOf.cs
Origine:
SrgsOneOf.cs

Inizializza una nuova istanza della classe SrgsOneOf da una matrice di oggetti SrgsItem.

public:
 SrgsOneOf(... cli::array <System::Speech::Recognition::SrgsGrammar::SrgsItem ^> ^ items);
public SrgsOneOf (params System.Speech.Recognition.SrgsGrammar.SrgsItem[] items);
new System.Speech.Recognition.SrgsGrammar.SrgsOneOf : System.Speech.Recognition.SrgsGrammar.SrgsItem[] -> System.Speech.Recognition.SrgsGrammar.SrgsOneOf
Public Sub New (ParamArray items As SrgsItem())

Parametri

items
SrgsItem[]

Elementi alternativi da aggiungere.

Eccezioni

items è null.

Qualsiasi elemento nella matrice items è null.

Esempio

L'esempio seguente crea una grammatica che riconosce la frase "Una nazione che ha vinto la Coppa del Mondo è" seguita dal nome di un paese/area geografica che ha vinto la Coppa del Mondo. Crea una regola pubblica denominata WorldCupWinner. Crea quindi due SrgsRule oggetti usando SrgsOneOf oggetti che contengono matrici di nuovi SrgsItem oggetti. Per visualizzare la grammatica generata da questo esempio, vedere SrgsRule.

 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;
}

Vedi anche

Si applica a

SrgsOneOf(String[])

Origine:
SrgsOneOf.cs
Origine:
SrgsOneOf.cs
Origine:
SrgsOneOf.cs

Inizializza una nuova istanza della classe SrgsOneOf da una matrice di oggetti String.

public:
 SrgsOneOf(... cli::array <System::String ^> ^ items);
public SrgsOneOf (params string[] items);
new System.Speech.Recognition.SrgsGrammar.SrgsOneOf : string[] -> System.Speech.Recognition.SrgsGrammar.SrgsOneOf
Public Sub New (ParamArray items As String())

Parametri

items
String[]

Elementi alternativi da aggiungere.

Eccezioni

items è null.

Qualsiasi elemento nella matrice items è null.

Esempio

L'esempio seguente crea una grammatica che riconosce la frase "Una nazione che ha vinto la Coppa del Mondo è" seguita dal nome di un paese/area geografica che ha vinto la Coppa del Mondo. Nell'esempio viene usato l'elemento SrgsOneOf per compilare elenchi di nomi di paese/area geografica accettabili da una matrice di String oggetti. Nell'esempio viene quindi aggiunto uno degli oggetti risultanti SrgsOneOf alle rispettive regole per i paesi/aree europee e sudamericane.

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 string[] {"England","France","Germany","Italy"});
  SrgsRule ruleEurope = (new SrgsRule("EuropeanNations", new SrgsElement[] {oneOfEurope}));

  // Create the rule for the South American nations.
  SrgsOneOf oneOfSAmerica = new SrgsOneOf (new string[] {"Argentina","Brazil","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.
  srgsGrammar.Rules.Add (new SrgsRule[] {winnerRule, ruleEurope, ruleSAmerica});
  srgsGrammar.Root = winnerRule;
}

Vedi anche

Si applica a