Compartilhar via


SemanticResultValue.ToGrammarBuilder Método

Definição

Retorna uma instância de GrammarBuilder construída com base na instância de SemanticResultValue 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

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

Exemplos

O exemplo a seguir cria Grammar objetos que dão suporte a comandos para alterar a cor do plano de fundo.

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

R GrammarBuilder é então obtido chamando ToGrammarBuilder() em uma SemanticResultKey instância, que será usada para chavear as escolhas semânticas na colorChoice instância.

private Grammar CreateGrammarBuilderRGBSemantics()   
{  

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

    // Use implicit conversion of SemanticResultValue to GrammarBuilder.      
    SemanticResultValue colorValue =   
        new SemanticResultValue(colorName, Color.FromName(colorName).ToArgb());  
    colorChoice.Add(colorValue.ToGrammarBuilder());  
  }  

  SemanticResultKey choiceKey = new SemanticResultKey("rgb", colorChoice);  
  GrammarBuilder choiceBuilder = choiceKey.ToGrammarBuilder();  

  // Create two intermediate grammars with an 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 final grammar, which recognizes either intermediate grammar.  
  Grammar grammar = new Grammar(new Choices(new GrammarBuilder[] { makeBackgroundBuilder, configureBackgroundBuilder }));  
  grammar.Name = "Set Background Color";  

  return grammar;  
}  

Comentários

O uso de ToGrammarBuilder é equivalente a usar o GrammarBuilder Construtor que usa um SemanticResultValue como argumento ( GrammarBuilder(SemanticResultValue) ).

Aplica-se a