GrammarBuilder.op_Implicit Method (SemanticResultValue)

Implicitly converts a SemanticResultValue object to an instance of GrammarBuilder.

Namespace: Microsoft.Speech.Recognition
Assembly: Microsoft.Speech (in microsoft.speech.dll)


Public Shared Widening Operator CType ( _
    semanticValue As SemanticResultValue _
) As GrammarBuilder
public static implicit operator GrammarBuilder (
    SemanticResultValue semanticValue
static implicit operator GrammarBuilder^ (
    SemanticResultValue^ semanticValue


Return Value

Returns an instance of SemanticResultValue containing the logical choice defined by the semanticKey argument.


Implicit conversion creates a new instance of GrammarBuilder.

The new instance of GrammarBuilder has its first element defined by the semanticValue argument to the constructor.

Other elements may be appended to the GrammarBuilder instance.

An instance of GrammarBuilder with elements prepending the semanticValue can be created by appending or adding other instances of GrammarBuilder.


The code sample below constructs a Grammar which recognizes either of two phrases: "Make background [color]" or "Configure background as [color]" using a explicit creation of and implicit conversion to GrammarBuilder instances.

The implicit conversion of a SemanticResultValue instance to a GrammarBuilder object is highlighted in the example code below.

private Grammar CreateGrammarBuilderRGBSemantics(params int[] info) {
  //Create a set of choices, each a lookup from a color name to RGB
  //Choices constructors do not take SematicResultValue, so cast SematicResultValue to GramarBuilder
  Choices colorChoice = new Choices();
  foreach (string colorName in System.Enum.GetNames(typeof(KnownColor))) {
                (new SemanticResultValue(colorName, Color.FromName(colorName).ToARGB())));
    //Uses implicit conversion of SemanticResultValue to GrammarBuilder  

  GrammarBuilder choiceBuilder = new SemanticResultKey("RGB", colorChoice);
  //Create two intermediate grammars with introductory phrase and the color choice
  GrammarBuilder makeBackgroundBuilder = "Make background";

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

  //Create the final grammar, which recognizes either intermediate grammar
  Grammar grammar = new Grammar(new Choices(makeBackgroundBuilder, configureBackgroundBuilder));
  grammar.Name = "Make Background /Configure background as";

  return grammar;

Thread Safety

All public static (Shared in Visual Basic) members of this type are thread-safe. Instance members are not guaranteed to be thread-safe.


Development Platforms

Windows XP Professional with Service Pack 2 (SP2), Windows Server 2003, Windows Vista Ultimate Edition, Windows Vista Business Edition, Windows Vista Enterprise Edition

Target Platforms

See Also


GrammarBuilder Class
GrammarBuilder Members
Microsoft.Speech.Recognition Namespace