GrammarBuilder..::..Add Method (GrammarBuilder, GrammarBuilder) |
GrammarBuilder Class Example See Also Send Feedback |
Creates a new GrammarBuilder that contains a sequence of two GrammarBuilder objects.
Namespace:
Microsoft.Speech.Recognition
Assembly:
Microsoft.Speech (in Microsoft.Speech.dll)
Syntax
Visual Basic (Declaration) |
---|
Public Shared Function Add ( _ builder1 As GrammarBuilder, _ builder2 As GrammarBuilder _ ) As GrammarBuilder |
Visual Basic (Usage) |
---|
Dim builder1 As GrammarBuilder Dim builder2 As GrammarBuilder Dim returnValue As GrammarBuilder returnValue = GrammarBuilder.Add(builder1, _ builder2) |
C# |
---|
public static GrammarBuilder Add( GrammarBuilder builder1, GrammarBuilder builder2 ) |
Parameters
- builder1
- Type: Microsoft.Speech.Recognition..::..GrammarBuilder
The first grammar element.
- builder2
- Type: Microsoft.Speech.Recognition..::..GrammarBuilder
The second grammar element.
Return Value
Type: Microsoft.Speech.Recognition..::..GrammarBuilderA GrammarBuilder for the sequence of the builder1 element followed by the builder2 element.
Remarks
GrammarBuilder supports implicit conversions from the following classes:
This method accepts the objects listed above for the builder1 or builder2 parameter.
For more information, see the ImplicitWideningImplicitImplicitImplicit and Addition operators.
Important |
---|
When you combine GrammarBuilder objects that contain SemanticResultValue or SemanticResultKey instances, make sure you avoid creating duplicate semantic elements with the same key name or multiple semantic elements that could repeatedly modify the Value property of a SemanticValue object. The speech recognizer can throw an exception if it encounters these circumstances. For more information about building a speech recognition grammar that contains semantic information, see Add Semantics to a GrammarBuilder Grammar (Microsoft.Speech). |
Examples
The following example creates a speech recognition grammar that can recognize the two phrases, "Make background color" and "Set background to color", where color is selected from a set of colors. Various types are used to build the final grammar, such as String, Choices, and GrammarBuilder objects. The explicit cast operators in the calls to the Add methods are optional.
C# | Copy Code |
---|---|
private Grammar CreateColorGrammar() { // Create a set of color choices. Choices colorChoice = new Choices(new string[] {"red", "green", "blue"}); // Create grammar builders for the two versions of the phrase. GrammarBuilder makePhrase = GrammarBuilder.Add((GrammarBuilder)"Make background", colorChoice); GrammarBuilder setPhrase = GrammarBuilder.Add("Set background to", (GrammarBuilder)colorChoice); // Create a Choices for the two alternative phrases, convert the Choices // to a GrammarBuilder, and construct the grammar from the result. Choices bothChoices = new Choices(new GrammarBuilder[] {makePhrase, setPhrase}); GrammarBuilder bothPhrases = new GrammarBuilder(bothChoices); Grammar grammar = new Grammar(bothPhrases); grammar.Name = "backgroundColor"; return grammar; } |