SemanticResultKey.ToGrammarBuilder メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
現在の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 インスタンスは、カラー文字列から作成されたSemanticResultValue オブジェクトのToGrammarBuilder() メソッドを使用して取得されます。
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の使用は、SemanticResultKeyを引数 (GrammarBuilder(SemanticResultKey)) として受け取るGrammarBuilder コンストラクターを使用することと同じです。