다음을 통해 공유


SemanticResultKey.ToGrammarBuilder 메서드

정의

현재 GrammarBuilder 인스턴스에서 생성된 SemanticResultKey의 인스턴스를 반환합니다.

public:
 System::Speech::Recognition::GrammarBuilder ^ ToGrammarBuilder();
public System.Speech.Recognition.GrammarBuilder ToGrammarBuilder ();
member this.ToGrammarBuilder : unit -> System.Speech.Recognition.GrammarBuilder
Public Function ToGrammarBuilder () As GrammarBuilder

반환

현재 SemanticResultKey 인스턴스에서 생성된 GrammarBuilder의 인스턴스입니다.

예제

다음 예제에서는 배경색을 변경하는 명령을 지원하는 개체를 만듭니다 Grammar .

Choices 배경색에 대한 옵션 목록이 포함된 개체(colorChoice)는 인스턴스와 함께 GrammarBuilder 메서드를 Add(GrammarBuilder[]) 사용하여 채워집니다. 인스턴스는 GrammarBuilder 색 문자열에서 ToGrammarBuilder() 만든 개체의 메서드를 SemanticResultValue 통해 가져옵니다.

GrammarBuilder 그런 다음 인스턴스에서 SemanticResultKey 를 호출 ToGrammarBuilder() 하여 를 가져옵니다. 이 인스턴스는 에서 colorChoice의미 체계 선택 항목을 키로 지정하는 데 사용됩니다.

private Grammar CreateGrammarBuilderRGBSemantics()
{

  // Create a set of choices, each a lookup from a color name to RGB.
  // Choices constructors do not take SemanticResultValue parameters, so cast
  // the SemanticResultValue to GrammarBuilder.
  Choices colorChoice = new Choices();
  foreach (string colorName in System.Enum.GetNames(typeof(KnownColor)))
  {
    SemanticResultValue colorValue=new SemanticResultValue(colorName, Color.FromName(colorName).ToArgb());

    // Use implicit conversion of SemanticResultValue to GrammarBuilder.
    colorChoice.Add(colorValue.ToGrammarBuilder());
  }
  SemanticResultKey choiceKey = new SemanticResultKey("rgb", colorChoice);
  GrammarBuilder choiceBuilder = choiceKey.ToGrammarBuilder();

  // Create two intermediate grammars with introductory phrase and the color choice.
  GrammarBuilder makeBackgroundBuilder = "Make background";
  makeBackgroundBuilder.Append(choiceBuilder);

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

  // Create the Grammar object, which recognizes either intermediate grammar.
  Grammar grammar = new Grammar(new Choices(new GrammarBuilder[] {makeBackgroundBuilder, configureBackgroundBuilder}));
  grammar.Name = "Make Background /Configure background as";

  return grammar;
}

설명

ToGrammarBuilder 사용은 인수(GrammarBuilder(SemanticResultKey))로 사용하는 SemanticResultKey 생성자를 사용하는 GrammarBuilder 것과 같습니다.

적용 대상