GrammarBuilder.Append Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Fügt der aktuellen Sequenz von Grammatikelementen eine Diktatgrammatik an.
Überlädt
Append(String, Int32, Int32) |
Fügt der aktuellen Sequenz von Grammatikelementen einen wiederholten Ausdruck an. |
Append(GrammarBuilder, Int32, Int32) |
Fügt der aktuellen Sequenz von Grammatikelementen eine wiederholte Grammatik an. |
Append(String) |
Fügt der aktuellen Sequenz von Grammatikelementen einen Ausdruck an. |
Append(String, SubsetMatchingMode) |
Fügt der aktuellen Sequenz von Grammatikelementen ein Element für eine Teilmenge eines Ausdrucks an. |
Append(SemanticResultKey) |
Fügt der aktuellen Sequenz von Grammatikelementen einen semantischen Schlüssel an. |
Append(SemanticResultValue) |
Fügt der aktuellen Sequenz von Grammatikelementen einen semantischen Schlüssel an. |
Append(GrammarBuilder) |
Fügt der aktuellen Sequenz von Grammatikelementen eine Diktatgrammatik an. |
Append(Choices) |
Fügt einen Satz von Alternativen zur aktuellen Sequenz von Grammatikelementen an. |
Hinweise
Verwenden Sie diese Methoden, um Grammatikelemente an eine vorhandene GrammarBuilderanzufügen. Wenn Sie Grammatikelemente erstellen, können Sie sie an den vorhandenen Generator anfügen, um die Einschränkungen für eine Spracherkennungsgrammatik schrittweise zu entwickeln. Jedes Element wird am Ende der aktuellen Sequenz von Elementen hinzugefügt.
Diese Methode verfügt über Überladungen zum Anfügen von GrammarBuilder- , String- Choices, SemanticResultKey- und SemanticResultValue -Objekten.
Wichtig
Die Spracherkennung kann eine Ausnahme auslösen, wenn eine Spracherkennungsgrammatik verwendet wird, die doppelte semantische Elemente mit demselben Schlüsselnamen enthält, oder mehrere semantische Elemente, die den Wert desselben semantischen Elements wiederholt ändern können.
Weitere Informationen zum Erstellen und Verwenden von Spracherkennungsgrammatiken finden Sie unter Spracherkennung.
Append(String, Int32, Int32)
- Quelle:
- GrammarBuilder.cs
- Quelle:
- GrammarBuilder.cs
- Quelle:
- GrammarBuilder.cs
Fügt der aktuellen Sequenz von Grammatikelementen einen wiederholten Ausdruck an.
public:
void Append(System::String ^ phrase, int minRepeat, int maxRepeat);
public void Append (string phrase, int minRepeat, int maxRepeat);
member this.Append : string * int * int -> unit
Public Sub Append (phrase As String, minRepeat As Integer, maxRepeat As Integer)
Parameter
- phrase
- String
Die wiederholte anzufügende Wortsequenz.
- minRepeat
- Int32
Die minimale Wiederholungsrate für eine Übereinstimmung der Eingabe mit phrase
, nach der eine Übereinstimmung anerkannt wird.
- maxRepeat
- Int32
Die maximale Wiederholungsrate für eine Übereinstimmung der Eingabe mit phrase
, nach der eine Übereinstimmung anerkannt wird.
Beispiele
Im folgenden Beispiel wird eine Spracherkennungsgrammatik für Ausdrücke wie "Call James at work" und "Call Anne on her cell phone" erstellt, wobei das Wort "phone" optional ist. GrammarBuilder und Choices -Objekte werden verwendet, um die Grammatik zu erstellen. Im Beispiel wird die Verwendung der Append -Methode hervorgehoben.
public static Grammar CreatePhonePhrase()
{
// Create alternatives for person names, locations, devices, and pronouns.
Choices personChoice = new Choices(new string[] {"Anne", "James", "Mary", "Sam"});
Choices locationChoice = new Choices(new string[] {"home", "work"});
Choices deviceChoice = new Choices(new string[] {"home", "work", "cell"});
Choices pronounChoice = new Choices(new string[] {"his", "her"});
// Create a phrase for the receiving device, which optionally contains the word "phone".
GrammarBuilder devicePhrase = new GrammarBuilder(pronounChoice);
devicePhrase.Append(deviceChoice);
devicePhrase.Append("phone", 0, 1);
// Create alternatives for phrases specifying a device or a location.
GrammarBuilder atLocation = new GrammarBuilder("at");
atLocation.Append(locationChoice);
GrammarBuilder onDevice = new GrammarBuilder("on");
onDevice.Append(devicePhrase);
Choices howChoice = new Choices(new GrammarBuilder[] {atLocation, onDevice});
// Build the final phrase.
GrammarBuilder callWho = new GrammarBuilder("Call");
callWho.Append(personChoice);
callWho.Append(howChoice);
// Create the Grammar object.
Grammar callGrammar = new Grammar(callWho);
callGrammar.Name = "Call Grammar";
return callGrammar;
}
Hinweise
Der Wert von minRepeat
muss größer oder gleich 0 und kleiner oder gleich dem Wert von maxRepeat
sein.
Weitere Informationen
Gilt für:
Append(GrammarBuilder, Int32, Int32)
- Quelle:
- GrammarBuilder.cs
- Quelle:
- GrammarBuilder.cs
- Quelle:
- GrammarBuilder.cs
Fügt der aktuellen Sequenz von Grammatikelementen eine wiederholte Grammatik an.
public:
void Append(System::Speech::Recognition::GrammarBuilder ^ builder, int minRepeat, int maxRepeat);
public void Append (System.Speech.Recognition.GrammarBuilder builder, int minRepeat, int maxRepeat);
member this.Append : System.Speech.Recognition.GrammarBuilder * int * int -> unit
Public Sub Append (builder As GrammarBuilder, minRepeat As Integer, maxRepeat As Integer)
Parameter
- builder
- GrammarBuilder
Das wiederholte anzufügende Grammatikelement.
- minRepeat
- Int32
Die minimale Wiederholungsrate für eine Übereinstimmung der Eingabe mit dem durch builder
definierten Element, nach der eine Übereinstimmung anerkannt wird.
- maxRepeat
- Int32
Die maximale Wiederholungsrate für eine Übereinstimmung der Eingabe mit dem durch builder
definierten Element, nach der eine Übereinstimmung anerkannt wird.
Beispiele
Im folgenden Beispiel wird eine Spracherkennungsgrammatik für Ausdrücke wie "Call James at work" und "Call Anne on her cell phone" erstellt, wobei das Wort "phone" optional ist. GrammarBuilder und Choices -Objekte werden verwendet, um die Grammatik zu erstellen. Im Beispiel wird die Verwendung der Append -Methode hervorgehoben.
public static Grammar CreatePhonePhrase()
{
// Create alternatives for person names, locations, devices, and pronouns.
Choices personChoice = new Choices(new string[] {"Anne", "James", "Mary", "Sam"});
Choices locationChoice = new Choices(new string[] {"home", "work"});
Choices deviceChoice = new Choices(new string[] {"home", "work", "cell"});
Choices pronounChoice = new Choices(new string[] {"his", "her"});
// Create a phrase for the receiving device, which optionally contains the word "phone".
GrammarBuilder devicePhrase = new GrammarBuilder(pronounChoice);
devicePhrase.Append(deviceChoice);
devicePhrase.Append("phone", 0, 1);
// Create alternatives for phrases specifying a device or a location.
GrammarBuilder atLocation = new GrammarBuilder("at");
atLocation.Append(locationChoice);
GrammarBuilder onDevice = new GrammarBuilder("on");
onDevice.Append(devicePhrase);
Choices howChoice = new Choices(new GrammarBuilder[] {atLocation, onDevice});
// Build the final phrase.
GrammarBuilder callWho = new GrammarBuilder("Call");
callWho.Append(personChoice);
callWho.Append(howChoice);
// Create the Grammar object.
Grammar callGrammar = new Grammar(callWho);
callGrammar.Name = "Call Grammar";
return callGrammar;
}
Hinweise
Der Wert von minRepeat
muss größer oder gleich 0 und kleiner oder gleich dem Wert von maxRepeat
sein.
Wichtig
Wenn Sie Objekte anfügenGrammarBuilder, die oder Instanzen an ein GrammarBuilder Objekt enthalten SemanticResultKeySemanticResultValue, sollten Sie vermeiden, dass Duplikate semantische Elemente mit demselben Schlüsselnamen oder mehreren semantischen Elementen erstellen, die die Value Eigenschaft eines SemanticValue Objekts wiederholt ändern könnten. Die Spracherkennung kann eine Ausnahme auslösen, wenn diese Umstände auftreten.
Weitere Informationen
Gilt für:
Append(String)
- Quelle:
- GrammarBuilder.cs
- Quelle:
- GrammarBuilder.cs
- Quelle:
- GrammarBuilder.cs
Fügt der aktuellen Sequenz von Grammatikelementen einen Ausdruck an.
public:
void Append(System::String ^ phrase);
public void Append (string phrase);
member this.Append : string -> unit
Public Sub Append (phrase As String)
Parameter
- phrase
- String
Die anzufügende Wortsequenz.
Hinweise
phrase
wird am Ende der aktuellen Sequenz von Elementen hinzugefügt.
Weitere Informationen
Gilt für:
Append(String, SubsetMatchingMode)
- Quelle:
- GrammarBuilder.cs
- Quelle:
- GrammarBuilder.cs
- Quelle:
- GrammarBuilder.cs
Fügt der aktuellen Sequenz von Grammatikelementen ein Element für eine Teilmenge eines Ausdrucks an.
public:
void Append(System::String ^ phrase, System::Speech::Recognition::SubsetMatchingMode subsetMatchingCriteria);
public void Append (string phrase, System.Speech.Recognition.SubsetMatchingMode subsetMatchingCriteria);
member this.Append : string * System.Speech.Recognition.SubsetMatchingMode -> unit
Public Sub Append (phrase As String, subsetMatchingCriteria As SubsetMatchingMode)
Parameter
- phrase
- String
Die anzufügende Wortsequenz.
- subsetMatchingCriteria
- SubsetMatchingMode
Der entsprechende Modus, den die Grammatik verwendet, um den Ausdruck zu erkennen.
Beispiele
Im folgenden Beispiel wird für jeden SubsetMatchingMode Wert eine Spracherkennungsgrammatik erstellt. Beispielsweise erkennt die generierte Grammatik OrderedSubset
die Ausdrücke "three four five" und "one three five", und die Grammatik Subsequence
erkennt den Ausdruck "three four five", aber nicht den Ausdruck "one three five".
private Grammar[] CreateSubsetMatchTest()
{
List<Grammar> grammars = new List<Grammar>(4);
string phrase = "one two three four five six";
foreach (SubsetMatchingMode mode in
Enum.GetValues(typeof(SubsetMatchingMode)))
{
GrammarBuilder gb = new GrammarBuilder();
gb.Append(phrase, mode);
Grammar grammar = new Grammar(gb);
grammar.Name = mode.ToString();
grammars.Add(grammar);
}
return grammars.ToArray();
}
Hinweise
Das Teilmengenelement wird am Ende der aktuellen Sequenz von Elementen hinzugefügt. Weitere Informationen zum Erstellen einer Spracherkennungsgrammatik mithilfe von Zeichenfolgen finden Sie unter Verwenden von Zeichenfolgen zum Erstellen einer GrammarBuilder-Grammatik.
Ausführliche Informationen zur Verwendung von Teilmengenübereinstimmungsmodi finden Sie unter System.Speech.Recognition.SubsetMatchingMode.
Weitere Informationen
Gilt für:
Append(SemanticResultKey)
- Quelle:
- GrammarBuilder.cs
- Quelle:
- GrammarBuilder.cs
- Quelle:
- GrammarBuilder.cs
Fügt der aktuellen Sequenz von Grammatikelementen einen semantischen Schlüssel an.
public:
void Append(System::Speech::Recognition::SemanticResultKey ^ key);
public void Append (System.Speech.Recognition.SemanticResultKey key);
member this.Append : System.Speech.Recognition.SemanticResultKey -> unit
Public Sub Append (key As SemanticResultKey)
Parameter
Der semantische Schlüssel, der angefügt werden soll.
Beispiele
Das folgende Beispiel ist Teil einer Konsolenanwendung zum Auswählen von Ursprungs- und Zielstädten für einen Flug. Die Anwendung erkennt Ausdrücke wie "Ich möchte von Miami nach Chicago fliegen". Der Handler für das SpeechRecognized -Ereignis verwendet den SemanticResultKey flughafenspezifischen Code, der in der SemanticResultValue für die Ursprungs- und Zielstädte angegeben ist.
using System;
using System.Speech.Recognition;
namespace SampleRecognition
{
class Program
{
static void Main(string[] args)
// Initialize an in-process speech recognition engine.
{
using (SpeechRecognitionEngine recognizer =
new SpeechRecognitionEngine())
{
// Create a Choices object and add cities and airport codes
// using SemanticResultValue objects.
Choices cities = new Choices();
cities.Add(new SemanticResultValue("Chicago", "ORD"));
cities.Add(new SemanticResultValue("Boston", "BOS"));
cities.Add(new SemanticResultValue("Miami", "MIA"));
cities.Add(new SemanticResultValue("Dallas", "DFW"));
// Build the phrase and add SemanticResultKeys.
GrammarBuilder chooseCities = new GrammarBuilder();
chooseCities.Append("I want to fly from");
chooseCities.Append(new SemanticResultKey("origin", cities));
chooseCities.Append("to");
chooseCities.Append(new SemanticResultKey("destination", cities));
// Build a Grammar object from the GrammarBuilder.
Grammar bookFlight = new Grammar(chooseCities);
bookFlight.Name = "Book Flight";
// Add a handler for the LoadGrammarCompleted event.
recognizer.LoadGrammarCompleted +=
new EventHandler<LoadGrammarCompletedEventArgs>(recognizer_LoadGrammarCompleted);
// Add a handler for the SpeechRecognized event.
recognizer.SpeechRecognized +=
new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);
// Configure the input to the recognizer.
recognizer.SetInputToDefaultAudioDevice();
// Load the grammar object and start recognition.
recognizer.LoadGrammarAsync(bookFlight);
recognizer.RecognizeAsync();
// Keep the console window open.
Console.ReadLine();
}
}
// Handle the LoadGrammarCompleted event.
static void recognizer_LoadGrammarCompleted(object sender, LoadGrammarCompletedEventArgs e)
{
Console.WriteLine("Grammar loaded: " + e.Grammar.Name);
Console.WriteLine();
}
// Handle the SpeechRecognized event.
static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
Console.WriteLine("Speech recognized: " + e.Result.Text);
Console.WriteLine();
Console.WriteLine("Semantic results:");
Console.WriteLine(" The flight origin is " + e.Result.Semantics["origin"].Value);
Console.WriteLine(" The flight destination is " + e.Result.Semantics["destination"].Value);
}
}
}
Hinweise
key
wird am Ende der aktuellen Sequenz von Elementen hinzugefügt.
Wichtig
Achten Sie beim Anfügen SemanticResultValue oder SemanticResultKey von Instanzen an ein GrammarBuilder Objekt darauf, doppelte semantische Elemente mit demselben Schlüsselnamen oder mehreren semantischen Elementen zu vermeiden, die die Value Eigenschaft eines SemanticValue Objekts wiederholt ändern könnten. Die Spracherkennung kann eine Ausnahme auslösen, wenn diese Umstände auftreten.
Weitere Informationen
Gilt für:
Append(SemanticResultValue)
- Quelle:
- GrammarBuilder.cs
- Quelle:
- GrammarBuilder.cs
- Quelle:
- GrammarBuilder.cs
Fügt der aktuellen Sequenz von Grammatikelementen einen semantischen Schlüssel an.
public:
void Append(System::Speech::Recognition::SemanticResultValue ^ value);
public void Append (System.Speech.Recognition.SemanticResultValue value);
member this.Append : System.Speech.Recognition.SemanticResultValue -> unit
Public Sub Append (value As SemanticResultValue)
Parameter
- value
- SemanticResultValue
Der anzufügende semantische Wert.
Beispiele
Das folgende Beispiel ist Teil einer Konsolenanwendung zum Auswählen von Ursprungs- und Zielstädten für einen Flug. Die Anwendung erkennt Ausdrücke wie "Ich möchte von Miami nach Chicago fliegen". Der Handler für das SpeechRecognized -Ereignis verwendet den SemanticResultKey flughafenspezifischen Code, der in der SemanticResultValue für die Ursprungs- und Zielstädte angegeben ist.
using System;
using System.Speech.Recognition;
namespace SampleRecognition
{
class Program
{
static void Main(string[] args)
// Initialize an in-process speech recognition engine.
{
using (SpeechRecognitionEngine recognizer =
new SpeechRecognitionEngine())
{
// Create GrammarBuilder objects and append SemanticResultValue objects
// that contain cities and airport codes.
GrammarBuilder chicago = new GrammarBuilder();
chicago.Append(new SemanticResultValue("Chicago", "ORD"));
GrammarBuilder boston = new GrammarBuilder();
boston.Append(new SemanticResultValue("Boston", "BOS"));
GrammarBuilder miami = new GrammarBuilder();
miami.Append(new SemanticResultValue("Miami", "MIA"));
GrammarBuilder dallas = new GrammarBuilder();
dallas.Append(new SemanticResultValue("Dallas", "DFW"));
// Create a Choices object and add the cities using implicit conversion from
// SemanticResultValue to GrammarBuilder.
Choices cities = new Choices();
cities.Add(new Choices(new GrammarBuilder[] { chicago, boston, miami, dallas }));
// Build the phrase and add SemanticResultKeys.
GrammarBuilder chooseCities = new GrammarBuilder();
chooseCities.Append("I want to fly from");
chooseCities.Append(new SemanticResultKey("origin", cities));
chooseCities.Append("to");
chooseCities.Append(new SemanticResultKey("destination", cities));
// Build a Grammar object from the GrammarBuilder.
Grammar bookFlight = new Grammar(chooseCities);
bookFlight.Name = "Book Flight";
// Add a handler for the LoadGrammarCompleted event.
recognizer.LoadGrammarCompleted +=
new EventHandler<LoadGrammarCompletedEventArgs>(recognizer_LoadGrammarCompleted);
// Add a handler for the SpeechRecognized event.
recognizer.SpeechRecognized +=
new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);
// Configure the input to the recognizer.
recognizer.SetInputToDefaultAudioDevice();
// Load the grammar object and start recognition.
recognizer.LoadGrammarAsync(bookFlight);
recognizer.RecognizeAsync();
// Keep the console window open.
Console.ReadLine();
}
}
// Handle the LoadGrammarCompleted event.
static void recognizer_LoadGrammarCompleted(object sender, LoadGrammarCompletedEventArgs e)
{
Console.WriteLine("Grammar loaded: " + e.Grammar.Name);
Console.WriteLine();
}
// Handle the SpeechRecognized event.
static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
Console.WriteLine("Speech recognized: " + e.Result.Text);
Console.WriteLine();
Console.WriteLine("Semantic results:");
Console.WriteLine(" The flight origin is " + e.Result.Semantics["origin"].Value);
Console.WriteLine(" The flight destination is " + e.Result.Semantics["destination"].Value);
}
}
}
Hinweise
value
wird am Ende der aktuellen Sequenz von Elementen hinzugefügt.
Wichtig
Achten Sie beim Anfügen SemanticResultValue oder SemanticResultKey von Instanzen an ein GrammarBuilder Objekt darauf, doppelte semantische Elemente mit demselben Schlüsselnamen oder mehreren semantischen Elementen zu vermeiden, die die Value Eigenschaft eines SemanticValue Objekts wiederholt ändern könnten. Die Spracherkennung kann eine Ausnahme auslösen, wenn diese Umstände auftreten.
Weitere Informationen
Gilt für:
Append(GrammarBuilder)
- Quelle:
- GrammarBuilder.cs
- Quelle:
- GrammarBuilder.cs
- Quelle:
- GrammarBuilder.cs
Fügt der aktuellen Sequenz von Grammatikelementen eine Diktatgrammatik an.
public:
void Append(System::Speech::Recognition::GrammarBuilder ^ builder);
public void Append (System.Speech.Recognition.GrammarBuilder builder);
member this.Append : System.Speech.Recognition.GrammarBuilder -> unit
Public Sub Append (builder As GrammarBuilder)
Parameter
- builder
- GrammarBuilder
Das anzufügende Grammatikelement.
Beispiele
Im folgenden Beispiel wird eine Spracherkennungsgrammatik für Ausdrücke wie "Call James at work" und "Call Anne on her cell phone" erstellt, wobei das Wort "phone" optional ist. GrammarBuilder und Choices -Objekte werden verwendet, um die Grammatik zu erstellen. Im Beispiel wird die Verwendung der Append -Methode hervorgehoben.
public static Grammar CreatePhonePhrase()
{
// Create alternatives for person names, locations, devices, and pronouns.
Choices personChoice = new Choices(new string[] {"Anne", "James", "Mary", "Sam"});
Choices locationChoice = new Choices(new string[] {"home", "work"});
Choices deviceChoice = new Choices(new string[] {"home", "work", "cell"});
Choices pronounChoice = new Choices(new string[] {"his", "her"});
// Create a phrase for the receiving device, which optionally contains the word "phone".
GrammarBuilder devicePhrase = new GrammarBuilder(pronounChoice);
devicePhrase.Append(deviceChoice);
devicePhrase.Append("phone", 0, 1);
// Create alternatives for phrases specifying a device or a location.
GrammarBuilder atLocation = new GrammarBuilder("at");
atLocation.Append(locationChoice);
GrammarBuilder onDevice = new GrammarBuilder("on");
onDevice.Append(devicePhrase);
Choices howChoice = new Choices(new GrammarBuilder[] {atLocation, onDevice});
// Build the final phrase.
GrammarBuilder callWho = new GrammarBuilder("Call");
callWho.Append(personChoice);
callWho.Append(howChoice);
// Create the Grammar object.
Grammar callGrammar = new Grammar(callWho);
callGrammar.Name = "Call Grammar";
return callGrammar;
}
Hinweise
builder
wird am Ende der aktuellen Sequenz von Grammatikelementen hinzugefügt.
Hinweis
Wenn Sie Objekte anfügenGrammarBuilder, die oder Instanzen an ein GrammarBuilder Objekt enthalten SemanticResultKeySemanticResultValue, sollten Sie vermeiden, dass Duplikate semantische Elemente mit demselben Schlüsselnamen oder mehreren semantischen Elementen erstellen, die die Value Eigenschaft eines SemanticValue Objekts wiederholt ändern könnten. Die Spracherkennung kann eine Ausnahme auslösen, wenn diese Umstände auftreten.
Weitere Informationen
Gilt für:
Append(Choices)
- Quelle:
- GrammarBuilder.cs
- Quelle:
- GrammarBuilder.cs
- Quelle:
- GrammarBuilder.cs
Fügt einen Satz von Alternativen zur aktuellen Sequenz von Grammatikelementen an.
public:
void Append(System::Speech::Recognition::Choices ^ alternateChoices);
public void Append (System.Speech.Recognition.Choices alternateChoices);
member this.Append : System.Speech.Recognition.Choices -> unit
Public Sub Append (alternateChoices As Choices)
Parameter
- alternateChoices
- Choices
Der Satz von Alternativen, die angefügt werden sollen.
Beispiele
Im folgenden Beispiel wird eine Spracherkennungsgrammatik für Ausdrücke wie "Call James at work" und "Call Anne on her cell phone" erstellt, wobei das Wort "phone" optional ist. Im Beispiel wird die Verwendung der Append -Methode hervorgehoben.
public static Grammar CreatePhonePhrase()
{
// Create alternatives for person names, locations, devices, and pronouns.
Choices personChoice = new Choices(new string[] {"Anne", "James", "Mary", "Sam"});
Choices locationChoice = new Choices(new string[] {"home", "work"});
Choices deviceChoice = new Choices(new string[] {"home", "work", "cell"});
Choices pronounChoice = new Choices(new string[] {"his", "her"});
// Create a phrase for the receiving device, which optionally contains the word "phone".
GrammarBuilder devicePhrase = new GrammarBuilder(pronounChoice);
devicePhrase.Append(deviceChoice);
devicePhrase.Append("phone", 0, 1);
// Create alternatives for phrases specifying a device or a location.
GrammarBuilder atLocation = new GrammarBuilder("at");
atLocation.Append(locationChoice);
GrammarBuilder onDevice = new GrammarBuilder("on");
onDevice.Append(devicePhrase);
Choices howChoice = new Choices(new GrammarBuilder[] {atLocation, onDevice});
// Build the final phrase.
GrammarBuilder callWho = new GrammarBuilder("Call");
callWho.Append(personChoice);
callWho.Append(howChoice);
// Create the Grammar object.
Grammar callGrammar = new Grammar(callWho);
callGrammar.Name = "Call Grammar";
return callGrammar;
}
Hinweise
alternateChoices
wird am Ende der aktuellen Sequenz von Elementen hinzugefügt.
Wichtig
Wenn Sie Objekte anfügenChoices, die oder Instanzen an ein GrammarBuilder Objekt enthalten SemanticResultKeySemanticResultValue, sollten Sie vermeiden, dass Duplikate semantische Elemente mit demselben Schlüsselnamen oder mehreren semantischen Elementen erstellen, die die Value Eigenschaft eines SemanticValue Objekts wiederholt ändern könnten. Die Spracherkennung kann eine Ausnahme auslösen, wenn diese Umstände auftreten.