Add Method (GrammarBuilder[])

Microsoft Speech Platform SDK 11

Collapse imageExpand ImageCopy imageCopyHover image

Adds an array containing one or more GrammarBuilder objects to the set of alternatives.

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

Syntax

Visual Basic (Declaration)
Public Sub Add ( _
	ParamArray alternateChoices As GrammarBuilder() _
)
Visual Basic (Usage)
Dim instance As Choices
Dim alternateChoices As GrammarBuilder()

instance.Add(alternateChoices)
C#
public void Add(
	params GrammarBuilder[] alternateChoices
)

Parameters

alternateChoices
Type: array<Microsoft.Speech.Recognition..::..GrammarBuilder>[]()[][]

The GrammarBuilder objects to add to this Choices object.

Remarks

Because of support for implicit conversion from Choices, SemanticResultKey, and SemanticResultValue objects to GrammarBuilder, these three classes may be added to a Choices instance as well.

If alternateChoices is an empty array, this method does not update the set of alternatives.

Applications can use both Add(array<String>[]()[][]) and Add(array<GrammarBuilder>[]()[][]) to add alternatives to a Choices object.

This method throws an ArgumentNullException when alternateChoices is nullNothingnullptrunita null reference (Nothing in Visual Basic) or any of the array elements are nullNothingnullptrunita null reference (Nothing in Visual Basic).

Examples

The following example creates a speech recognition grammar for phrases such as "Call Anne on her cell" and "Call James on his work phone". The example uses both overloads of the Add method to build the grammar.

 Copy imageCopy Code
public Grammar CreatePhonePhrase()
{

  // Create alternatives for female names and add a phrase.
  GrammarBuilder females = new Choices(new string[] { "Anne", "Mary" });
  females.Append("on her");

  // Create alternatives for male names and add a phrase.
  GrammarBuilder males = new Choices(new string[] { "James", "Sam" });
  males.Append("on his");

  // Create a Choices object that contains an array of alternative
  // GrammarBuilder objects.
  Choices people = new Choices();
  people.Add(new Choices(new GrammarBuilder[] {females, males}));

  // Create a Choices object that contains a set of alternative phone types.
  Choices phoneType = new Choices();
  phoneType.Add(new string[] { "cell", "home", "work" });

  // Construct the phrase.
  GrammarBuilder gb = new GrammarBuilder();
  gb.Append("call");
  gb.Append(people);
  gb.Append(phoneType);
  gb.Append(new GrammarBuilder("phone"), 0, 1);

  return new Grammar(gb);
}

See Also