Compartilhar via


SemanticResultKey.ToGrammarBuilder Método

Definição

Retorna uma instância de GrammarBuilder construída com base na instância de SemanticResultKey atual.

public:
 System::Speech::Recognition::GrammarBuilder ^ ToGrammarBuilder();
public System.Speech.Recognition.GrammarBuilder ToGrammarBuilder ();
member this.ToGrammarBuilder : unit -> System.Speech.Recognition.GrammarBuilder
Public Function ToGrammarBuilder () As GrammarBuilder

Retornos

GrammarBuilder

Uma instância do GrammarBuilder construído da instância SemanticResultKey atual.

Exemplos

O exemplo a seguir cria um Grammar objeto que dá suporte a comandos para alterar a cor da tela de fundo.

Um Choices objeto (colorChoice) que contém a lista de opções para cores de tela de fundo é preenchido usando o Add(GrammarBuilder[]) método com GrammarBuilder instâncias. As GrammarBuilder instâncias são obtidas por meio do ToGrammarBuilder() método nos objetos criados a SemanticResultValue partir de cadeias de caracteres de cor.

A GrammarBuilder é então obtida chamando ToGrammarBuilder() uma SemanticResultKey instância, que será usada para teclar as escolhas semânticas em colorChoice.

private Grammar CreateGrammarBuilderRGBSemantics()   
{  

  // Create a set of choices, each a lookup from a color name to RGB.  
  // Choices constructors do not take SemanticResultValue parameters, so cast   
  // the SemanticResultValue to GrammarBuilder.  
  Choices colorChoice = new Choices();  
  foreach (string colorName in System.Enum.GetNames(typeof(KnownColor)))   
  {  
    SemanticResultValue colorValue=new SemanticResultValue(colorName, Color.FromName(colorName).ToArgb());  

    // Use implicit conversion of SemanticResultValue to GrammarBuilder.  
    colorChoice.Add(colorValue.ToGrammarBuilder());      
  }  
  SemanticResultKey choiceKey = new SemanticResultKey("rgb", colorChoice);  
  GrammarBuilder choiceBuilder = choiceKey.ToGrammarBuilder();  

  // Create two intermediate grammars with introductory phrase and the color choice.  
  GrammarBuilder makeBackgroundBuilder = "Make background";  
  makeBackgroundBuilder.Append(choiceBuilder);  

  GrammarBuilder configureBackgroundBuilder = new GrammarBuilder("Configure background as");  
  configureBackgroundBuilder.Append((new SemanticResultKey("rgb", colorChoice)).ToGrammarBuilder());  

  // Create the Grammar object, which recognizes either intermediate grammar.  
  Grammar grammar = new Grammar(new Choices(new GrammarBuilder[] {makeBackgroundBuilder, configureBackgroundBuilder}));  
  grammar.Name = "Make Background /Configure background as";  

  return grammar;  
}  

Comentários

O uso é ToGrammarBuilder equivalente ao uso do GrammarBuilder construtor que usa SemanticResultKey como argumento (GrammarBuilder(SemanticResultKey)).

Aplica-se a