Compartir a través de


SemanticResultKey.ToGrammarBuilder Método

Definición

Devuelve una instancia de GrammarBuilder construida a partir de la instancia de SemanticResultKey actual.

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

Devoluciones

GrammarBuilder

Instancia de GrammarBuilder construida a partir de la instancia de SemanticResultKey actual.

Ejemplos

En el ejemplo siguiente se crea un Grammar objeto que admite comandos para cambiar el color de fondo.

Un Choices objeto (colorChoice) que contiene la lista de opciones para los colores de fondo se rellena mediante el Add(GrammarBuilder[]) método con GrammarBuilder instancias de . Las GrammarBuilder instancias se obtienen mediante el ToGrammarBuilder() método en los SemanticResultValue objetos creados a partir de cadenas de color.

A GrammarBuilder continuación, se obtiene mediante una llamada a ToGrammarBuilder() en una SemanticResultKey instancia de , que se usará para claver las opciones semánticas en 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;  
}  

Comentarios

El uso de ToGrammarBuilder es equivalente al uso del GrammarBuilder constructor que toma SemanticResultKey como argumento (GrammarBuilder(SemanticResultKey)).

Se aplica a