GrammarBuilder.Append GrammarBuilder.Append GrammarBuilder.Append GrammarBuilder.Append Method

정의

문법 요소를 문법 요소의 현재 시퀀스에 추가합니다.Appends a grammar element to the current sequence of grammar elements.

오버로드

Append(String, Int32, Int32) Append(String, Int32, Int32) Append(String, Int32, Int32) Append(String, Int32, Int32)

반복된 구를 문법 요소의 현재 시퀀스에 추가합니다.Appends a repeated phrase to the current sequence of grammar elements.

Append(GrammarBuilder, Int32, Int32) Append(GrammarBuilder, Int32, Int32) Append(GrammarBuilder, Int32, Int32) Append(GrammarBuilder, Int32, Int32)

반복된 문법 요소를 문법 요소의 현재 시퀀스에 추가합니다.Appends a repeated grammar element to the current sequence of grammar elements.

Append(String) Append(String) Append(String) Append(String)

구를 문법 요소의 현재 시퀀스에 추가합니다.Appends a phrase to the current sequence of grammar elements.

Append(String, SubsetMatchingMode) Append(String, SubsetMatchingMode) Append(String, SubsetMatchingMode) Append(String, SubsetMatchingMode)

구의 하위 집합에 대한 요소를 문법 요소의 현재 시퀀스에 추가합니다.Appends an element for a subset of a phrase to the current sequence of grammar elements.

Append(SemanticResultKey) Append(SemanticResultKey) Append(SemanticResultKey) Append(SemanticResultKey)

의미 키를 문법 요소의 현재 시퀀스에 추가합니다.Appends a semantic key to the current sequence of grammar elements.

Append(SemanticResultValue) Append(SemanticResultValue) Append(SemanticResultValue) Append(SemanticResultValue)

의미 값을 문법 요소의 현재 시퀀스에 추가합니다.Appends a semantic value to the current sequence of grammar elements.

Append(GrammarBuilder) Append(GrammarBuilder) Append(GrammarBuilder) Append(GrammarBuilder)

문법 요소를 문법 요소의 현재 시퀀스에 추가합니다.Appends a grammar element to the current sequence of grammar elements.

Append(Choices) Append(Choices) Append(Choices) Append(Choices)

대체 항목의 집합을 문법 요소의 현재 시퀀스에 추가합니다.Appends a set of alternatives to the current sequence of grammar elements.

설명

이러한 메서드를 사용 하 여 기존 문법 요소를 추가할 GrammarBuilder합니다.Use these methods to append grammar elements to an existing GrammarBuilder. 문법 요소를 만들 때에 점진적으로 스피치 인식 그래 머의 제약 조건을 개발 하 여 기존 작성기에 추가할 수 있습니다.As you create grammar elements, you can append them to the existing builder to progressively develop the constraints for a speech recognition grammar. 각 요소는 요소의 현재 시퀀스의 끝에 추가 됩니다.Each element is added to the end of the current sequence of elements.

이 메서드에 추가 하는 것에 대 한 오버 로드가 GrammarBuilder, StringChoices, SemanticResultKey, 및 SemanticResultValue 개체입니다.This method has overloads for appending GrammarBuilder, String, Choices, SemanticResultKey, and SemanticResultValue objects.

중요

음성 인식기 키 이름이 같은 중복 된 의미 체계 요소 또는 동일한 의미 체계 요소의 값을 반복적으로 수정할 수 있는 여러 의미 체계 요소가 포함 된 음성 인식 문법을 사용 하는 경우 예외가 throw 할 수 있습니다.The speech recognizer can throw an exception when using a speech recognition grammar that contains duplicate semantic elements with the same key name or multiple semantic elements that could repeatedly modify the value of the same semantic element.

빌드 및 음성 인식 문법을 사용 하는 방법에 대 한 자세한 내용은 참조 하세요. 음성 인식 하 고 GrammarBuilder 문법을 만드는합니다.For more information about building and using speech recognition grammars, see Speech Recognition and Creating GrammarBuilder Grammars.

Append(String, Int32, Int32) Append(String, Int32, Int32) Append(String, Int32, Int32) Append(String, Int32, Int32)

반복된 구를 문법 요소의 현재 시퀀스에 추가합니다.Appends a repeated phrase to the current sequence of grammar elements.

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)

매개 변수

phrase
String String String String

추가할 반복된 단어의 시퀀스입니다.The repeated sequence of words to append.

minRepeat
Int32 Int32 Int32 Int32

입력이 phrase에 일치하여 일치 항목을 구성할 수 있는 최소 횟수입니다.The minimum number of times that input matching phrase must occur to constitute a match.

maxRepeat
Int32 Int32 Int32 Int32

입력이 phrase에 일치하여 일치 항목을 구성할 수 있는 최대 횟수입니다.The maximum number of times that input matching phrase can occur to constitute a match.

예제

다음 예제에서는 "phone" 라는 단어는 선택 사항 구 "직장 호출 James" 및 "휴대폰에서 호출 Anne"와 같은 음성 인식 문법을 만듭니다.The following example creates a speech recognition grammar for phrases such as "Call James at work" and "Call Anne on her cell phone", where the word "phone" is optional. GrammarBuilderChoices 개체 문법을 생성 하는 데 사용 됩니다.GrammarBuilder and Choices objects are used to construct the grammar. 이 예제에서는 사용을 강조 표시 된 Append 메서드.The example highlights the use of the Append method.


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;  
}  

설명

minRepeat 0 보다 크거나 해야 값 보다 작거나 같으면 maxRepeat합니다.The value of minRepeat must be greater than or equal to 0 and less than or equal to the value of maxRepeat.

추가 정보

Append(GrammarBuilder, Int32, Int32) Append(GrammarBuilder, Int32, Int32) Append(GrammarBuilder, Int32, Int32) Append(GrammarBuilder, Int32, Int32)

반복된 문법 요소를 문법 요소의 현재 시퀀스에 추가합니다.Appends a repeated grammar element to the current sequence of grammar elements.

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)

매개 변수

builder
GrammarBuilder GrammarBuilder GrammarBuilder GrammarBuilder

추가할 반복된 문법 요소입니다.The repeated grammar element to append.

minRepeat
Int32 Int32 Int32 Int32

입력이 builder가 정의한 요소와 일치하여 일치 항목을 구성해야 하는 최소 횟수The minimum number of times that input matching the element defined by builder must occur to constitute a match.

maxRepeat
Int32 Int32 Int32 Int32

입력이 builder가 정의한 요소와 일치하여 일치 항목을 구성할 수 있는 최대 횟수The maximum number of times that input matching the element defined by builder can occur to constitute a match.

예제

다음 예제에서는 "phone" 라는 단어는 선택 사항 구 "직장 호출 James" 및 "휴대폰에서 호출 Anne"와 같은 음성 인식 문법을 만듭니다.The following example creates a speech recognition grammar for phrases such as "Call James at work" and "Call Anne on her cell phone", where the word "phone" is optional. GrammarBuilderChoices 개체 문법을 생성 하는 데 사용 됩니다.GrammarBuilder and Choices objects are used to construct the grammar. 이 예제에서는 사용을 강조 표시 된 Append 메서드.The example highlights the use of the Append method.


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;  
}  

설명

minRepeat 0 보다 크거나 해야 값 보다 작거나 같으면 maxRepeat합니다.The value of minRepeat must be greater than or equal to 0 and less than or equal to the value of maxRepeat.

중요

추가 하는 경우 GrammarBuilder 포함 된 개체 SemanticResultValue 또는 SemanticResultKey 인스턴스를 GrammarBuilder 개체 키 이름이 동일한 또는 반복적으로 할 수 있는 여러 의미 체계 요소를 사용 하 여 의미 체계는 중복 요소를 만들지 않으려면 있는지 확인 합니다. 수정 된 Value 의 속성을 SemanticValue 개체입니다.When you append GrammarBuilder objects that contain SemanticResultValue or SemanticResultKey instances to a GrammarBuilder object, 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. 이러한 상황을 발생 하는 경우 음성 인식기에서 예외를 throw 수 있습니다.The speech recognizer can throw an exception if it encounters these circumstances.

추가 정보

Append(String) Append(String) Append(String) Append(String)

구를 문법 요소의 현재 시퀀스에 추가합니다.Appends a phrase to the current sequence of grammar elements.

public:
 void Append(System::String ^ phrase);
public void Append (string phrase);
member this.Append : string -> unit
Public Sub Append (phrase As String)

매개 변수

phrase
String String String String

추가할 단어의 시퀀스입니다.The sequence of words to append.

설명

phrase 요소의 현재 시퀀스의 끝에 추가 됩니다.phrase is added to the end of the current sequence of elements.

추가 정보

Append(String, SubsetMatchingMode) Append(String, SubsetMatchingMode) Append(String, SubsetMatchingMode) Append(String, SubsetMatchingMode)

구의 하위 집합에 대한 요소를 문법 요소의 현재 시퀀스에 추가합니다.Appends an element for a subset of a phrase to the current sequence of grammar elements.

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)

매개 변수

phrase
String String String String

추가할 단어의 시퀀스입니다.The sequence of words to append.

subsetMatchingCriteria
SubsetMatchingMode SubsetMatchingMode SubsetMatchingMode SubsetMatchingMode

일치하는 모드는 문법을 사용하여 구를 인식합니다.The matching mode the grammar uses to recognize the phrase.

예제

다음 예제에서는 각각에 대 한 음성 인식 문법을 만드는 SubsetMatchingMode 값입니다.The following example creates a speech recognition grammar for each SubsetMatchingMode value. 예를 들어, 생성 된 문법 OrderedSubset 는 구 인식 "세 4 5" 및 "하나 세 5"과 문법을 Subsequence 구 인식 "3 4 5", 하지만 구의 하지 "하나 세 5".For example, the generated grammar OrderedSubset recognizes the phrases, "three four five" and "one three five", and the grammar Subsequence recognizes the phrase "three four five", but not the phrase, "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();  
}  

설명

하위 요소는 요소의 현재 시퀀스의 끝에 추가 됩니다.The subset element is added to the end of the current sequence of elements. 문자열을 사용 하 여 음성 인식 문법을 빌드하는 방법에 대 한 자세한 내용은 참조 하세요. GrammarBuilder 문법을 만드는를 사용 하 여 문자열합니다.For more information about building a speech recognition grammar using strings, see Using Strings to Create a GrammarBuilder Grammar.

하위 집합 일치 모드가 사용에 대 한 자세한 정보를 참조 하세요. System.Speech.Recognition.SubsetMatchingMode합니다.For detailed information on the use of subset matching modes, see System.Speech.Recognition.SubsetMatchingMode.

추가 정보

Append(SemanticResultKey) Append(SemanticResultKey) Append(SemanticResultKey) Append(SemanticResultKey)

의미 키를 문법 요소의 현재 시퀀스에 추가합니다.Appends a semantic key to the current sequence of grammar elements.

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)

매개 변수

key
SemanticResultKey SemanticResultKey SemanticResultKey SemanticResultKey

추가할 의미 키입니다.The semantic key to append.

예제

다음 예제는 항공편에 대 한 원본 및 대상 도시를 선택 하는 것에 대 한 콘솔 애플리케이션의 일부입니다.The following example is part of a console application for choosing origin and destination cities for a flight. 애플리케이션 "시카고에 마이애미에서 fly 하려고 합니다."와 같은 구를 인식합니다The application recognizes phrases such as "I want to fly from Miami to Chicago." 에 대 한 처리기를 SpeechRecognized 이벤트를 사용 하는 SemanticResultKey 에 지정 된 공항 코드를 추출 하는 SemanticResultValue 원본 및 대상 도시에 대 한 합니다.The handler for the SpeechRecognized event uses the SemanticResultKey to extract the airport code specified in the SemanticResultValue for the origin and destination cities.

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);  
    }  
  }  
}  

설명

key 요소의 현재 시퀀스의 끝에 추가 됩니다.key is added to the end of the current sequence of elements.

중요

추가 하는 경우 SemanticResultValue 또는 SemanticResultKey 인스턴스를 GrammarBuilder 개체, 키 이름이 동일한 또는 반복적으로 수정할 수 있는 여러 의미 체계 요소를 사용 하 여 의미 체계는 중복 요소를 만들지 않으려면 반드시를 Value 의 속성을 SemanticValue 개체입니다.When you append SemanticResultValue or SemanticResultKey instances to a GrammarBuilder object, 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. 이러한 상황을 발생 하는 경우 음성 인식기에서 예외를 throw 수 있습니다.The speech recognizer can throw an exception if it encounters these circumstances.

추가 정보

Append(SemanticResultValue) Append(SemanticResultValue) Append(SemanticResultValue) Append(SemanticResultValue)

의미 값을 문법 요소의 현재 시퀀스에 추가합니다.Appends a semantic value to the current sequence of grammar elements.

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)

매개 변수

value
SemanticResultValue SemanticResultValue SemanticResultValue SemanticResultValue

추가할 의미 값입니다.The semantic value to append.

예제

다음 예제는 항공편에 대 한 원본 및 대상 도시를 선택 하는 것에 대 한 콘솔 애플리케이션의 일부입니다.The following example is part of a console application for choosing origin and destination cities for a flight. 애플리케이션 "시카고에 마이애미에서 fly 하려고 합니다."와 같은 구를 인식합니다The application recognizes phrases such as "I want to fly from Miami to Chicago." 에 대 한 처리기를 SpeechRecognized 이벤트를 사용 하는 SemanticResultKey 에 지정 된 공항 코드를 추출 하는 SemanticResultValue 원본 및 대상 도시에 대 한 합니다.The handler for the SpeechRecognized event uses the SemanticResultKey to extract the airport code specified in the SemanticResultValue for the origin and destination cities.


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);  
    }  
  }  
}  

설명

value 요소의 현재 시퀀스의 끝에 추가 됩니다.value is added to the end of the current sequence of elements.

중요

추가 하는 경우 SemanticResultValue 또는 SemanticResultKey 인스턴스를 GrammarBuilder 개체, 키 이름이 동일한 또는 반복적으로 수정할 수 있는 여러 의미 체계 요소를 사용 하 여 의미 체계는 중복 요소를 만들지 않으려면 반드시를 Value 의 속성을 SemanticValue 개체입니다.When you append SemanticResultValue or SemanticResultKey instances to a GrammarBuilder object, 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. 이러한 상황을 발생 하는 경우 음성 인식기에서 예외를 throw 수 있습니다.The speech recognizer can throw an exception if it encounters these circumstances.

추가 정보

Append(GrammarBuilder) Append(GrammarBuilder) Append(GrammarBuilder) Append(GrammarBuilder)

문법 요소를 문법 요소의 현재 시퀀스에 추가합니다.Appends a grammar element to the current sequence of grammar elements.

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)

매개 변수

builder
GrammarBuilder GrammarBuilder GrammarBuilder GrammarBuilder

추가할 문법 요소입니다.The grammar element to append.

예제

다음 예제에서는 "phone" 라는 단어는 선택 사항 구 "직장 호출 James" 및 "휴대폰에서 호출 Anne"와 같은 음성 인식 문법을 만듭니다.The following example creates a speech recognition grammar for phrases such as "Call James at work" and "Call Anne on her cell phone", where the word "phone" is optional. GrammarBuilderChoices 개체 문법을 생성 하는 데 사용 됩니다.GrammarBuilder and Choices objects are used to construct the grammar. 이 예제에서는 사용을 강조 표시 된 Append 메서드.The example highlights the use of the Append method.


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;  
}  

설명

builder 문법 요소의 현재 시퀀스의 끝에 추가 됩니다.builder is added to the end of the current sequence of grammar elements.

참고

추가 하는 경우 GrammarBuilder 포함 된 개체 SemanticResultValue 또는 SemanticResultKey 인스턴스를 GrammarBuilder 개체 키 이름이 동일한 또는 반복적으로 할 수 있는 여러 의미 체계 요소를 사용 하 여 의미 체계는 중복 요소를 만들지 않으려면 있는지 확인 합니다. 수정 된 Value 의 속성을 SemanticValue 개체입니다.When you append GrammarBuilder objects that contain SemanticResultValue or SemanticResultKey instances to a GrammarBuilder object, 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. 이러한 상황을 발생 하는 경우 음성 인식기에서 예외를 throw 수 있습니다.The speech recognizer can throw an exception if it encounters these circumstances.

추가 정보

Append(Choices) Append(Choices) Append(Choices) Append(Choices)

대체 항목의 집합을 문법 요소의 현재 시퀀스에 추가합니다.Appends a set of alternatives to the current sequence of grammar elements.

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)

매개 변수

alternateChoices
Choices Choices Choices Choices

추가할 대체 집합입니다.The set of alternatives to append.

예제

다음 예제에서는 "phone" 라는 단어는 선택 사항 구 "직장 호출 James" 및 "휴대폰에서 호출 Anne"와 같은 음성 인식 문법을 만듭니다.The following example creates a speech recognition grammar for phrases such as "Call James at work" and "Call Anne on her cell phone", where the word "phone" is optional. 이 예제에서는 사용을 강조 표시 된 Append 메서드.The example highlights the use of the Append method.


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;  
}  

설명

alternateChoices 요소의 현재 시퀀스의 끝에 추가 됩니다.alternateChoices is added to the end of the current sequence of elements.

중요

추가 하는 경우 Choices 포함 된 개체 SemanticResultValue 또는 SemanticResultKey 인스턴스를 GrammarBuilder 개체 키 이름이 동일한 또는 반복적으로 할 수 있는 여러 의미 체계 요소를 사용 하 여 의미 체계는 중복 요소를 만들지 않으려면 있는지 확인 합니다. 수정 된 Value 의 속성을 SemanticValue 개체입니다.When you append Choices objects that contain SemanticResultValue or SemanticResultKey instances to a GrammarBuilder object, 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. 이러한 상황을 발생 하는 경우 음성 인식기에서 예외를 throw 수 있습니다.The speech recognizer can throw an exception if it encounters these circumstances.

적용 대상