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
傳回
一個由當前GrammarBuilder實例建構的實例SemanticResultKey。
範例
以下範例建立一個 Grammar 物件,支援更改背景顏色的指令。
Choices一個包含背景色選項清單的物件(colorChoice)會用實Add(GrammarBuilder[])GrammarBuilder例填充。 這些 GrammarBuilder 實例是透過該 ToGrammarBuilder() 方法 SemanticResultValue 在由顏色串建立的物件上取得的。
GrammarBuilder接著,A是透過呼叫ToGrammarBuilder()SemanticResultKey一個實例來取得,該實例將用來鍵入語意選擇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等同於使用取參數GrammarBuilderSemanticResultKey()的構造子。GrammarBuilder(SemanticResultKey)