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实例的方法填充colorChoiceAdd(GrammarBuilder[])包含背景色选项列表的对象(GrammarBuilder)。 这些 GrammarBuilder 实例通过 ToGrammarBuilder() 从颜色字符串创建的对象上 SemanticResultValue 的方法获取。
然后,通过调用GrammarBuilderToGrammarBuilder()实例来获取 ASemanticResultKey,该实例将用于键式选择。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。GrammarBuilder(SemanticResultKey)