通过


GrammarBuilder.Add 方法

定义

创建一个包含两个语法元素序列的新 GrammarBuilder 内容。

重载

名称 说明
Add(Choices, GrammarBuilder)

创建一个包含Choices对象后跟GrammarBuilder对象的新GrammarBuilder对象。

Add(GrammarBuilder, Choices)

创建一个包含GrammarBuilder对象后跟Choices对象的新GrammarBuilder对象。

Add(GrammarBuilder, GrammarBuilder)

创建一个包含两GrammarBuilder个对象的序列的新GrammarBuilder对象。

Add(GrammarBuilder, String)

创建一个包含GrammarBuilder后跟短语的对象的新GrammarBuilder对象。

Add(String, GrammarBuilder)

创建一个包含后跟GrammarBuilder对象的短语的新GrammarBuilder内容。

注解

静态 Add 方法提供了另一种机制,可以通过该机制组合各种类型来创建语法 GrammarBuilder的多样性和灵活性。 这些方法对应于也在类上GrammarBuilder定义的静态Addition方法。 参数的顺序决定了新 GrammarBuilder元素的顺序。

还可以从 ChoicesSemanticResultKeySemanticResultValueString 对象获取 AGrammarBuilder。 有关详细信息,请参阅 ImplicitAddition 运算符。

重要

当使用包含具有相同键名的重复语义元素或多个语义元素的语音识别语法时,语音识别器可能会引发异常,这些元素可以重复修改同一语义元素的值。

有关生成和使用语音识别语法的详细信息,请参阅 语音识别

Add(Choices, GrammarBuilder)

Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs

创建一个包含Choices对象后跟GrammarBuilder对象的新GrammarBuilder对象。

public:
 static System::Speech::Recognition::GrammarBuilder ^ Add(System::Speech::Recognition::Choices ^ choices, System::Speech::Recognition::GrammarBuilder ^ builder);
public static System.Speech.Recognition.GrammarBuilder Add(System.Speech.Recognition.Choices choices, System.Speech.Recognition.GrammarBuilder builder);
static member Add : System.Speech.Recognition.Choices * System.Speech.Recognition.GrammarBuilder -> System.Speech.Recognition.GrammarBuilder
Public Shared Function Add (choices As Choices, builder As GrammarBuilder) As GrammarBuilder

参数

choices
Choices

第一个语法元素,表示一组替代项。

builder
GrammarBuilder

第二个语法元素。

返回

后跟元素的choices元素序列的 builder AGrammarBuilder

注解

GrammarBuilder 支持从以下类进行隐式转换:

此方法接受上面 builder 列出的参数对象。

有关详细信息,请参阅 ImplicitAddition 运算符。

重要

组合 Choices 对象和 GrammarBuilder 包含 SemanticResultValueSemanticResultKey 实例的对象时,请确保避免创建具有相同键名或多个语义元素的重复语义元素,这些元素可以重复修改 Value 对象的属性 SemanticValue 。 如果遇到这些情况,语音识别器可能会引发异常。 有关生成包含语义信息的语音识别语法的详细信息,请参阅 向 GrammarBuilder 语法添加语义

另请参阅

适用于

Add(GrammarBuilder, Choices)

Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs

创建一个包含GrammarBuilder对象后跟Choices对象的新GrammarBuilder对象。

public:
 static System::Speech::Recognition::GrammarBuilder ^ Add(System::Speech::Recognition::GrammarBuilder ^ builder, System::Speech::Recognition::Choices ^ choices);
public static System.Speech.Recognition.GrammarBuilder Add(System.Speech.Recognition.GrammarBuilder builder, System.Speech.Recognition.Choices choices);
static member Add : System.Speech.Recognition.GrammarBuilder * System.Speech.Recognition.Choices -> System.Speech.Recognition.GrammarBuilder
Public Shared Function Add (builder As GrammarBuilder, choices As Choices) As GrammarBuilder

参数

builder
GrammarBuilder

第一个语法元素。

choices
Choices

第二个语法元素,表示一组替代项。

返回

后跟元素的builder元素序列的 choices AGrammarBuilder

示例

以下示例创建一个语音识别语法,该语法可以识别两个短语“制作背景 颜色”和“将背景设置为 颜色”,其中 颜色 是从一组颜色中选择的。 各种类型用于生成最终语法,如 StringChoicesGrammarBuilder对象。 对方法的调用 Add 中的显式强制转换运算符是可选的。

private Grammar CreateColorGrammar()
{

  // Create a set of color choices.
  Choices colorChoice = new Choices(new string[] {"red", "green", "blue"});

  // Create grammar builders for the two versions of the phrase.
  GrammarBuilder makePhrase =
    GrammarBuilder.Add((GrammarBuilder)"Make background", colorChoice);
  GrammarBuilder setPhrase =
    GrammarBuilder.Add("Set background to", (GrammarBuilder)colorChoice);

  // Create a Choices for the two alternative phrases, convert the Choices
  // to a GrammarBuilder, and construct the grammar from the result.
  Choices bothChoices = new Choices(new GrammarBuilder[] {makePhrase, setPhrase});
  GrammarBuilder bothPhrases = new GrammarBuilder(bothChoices);

  Grammar grammar = new Grammar(bothPhrases);
  grammar.Name = "backgroundColor";
  return grammar;
}

注解

GrammarBuilder 支持从以下类进行隐式转换:

此方法接受上面 builder 列出的参数对象。

有关详细信息,请参阅 ImplicitAddition 运算符。

重要

将包含或实例的对象与其他语法元素组合ChoicesGrammarBuilder在一起时,请确保避免创建具有相同键名或多个语义元素的重复语义元素,这些元素可以重复修改Value对象的属性SemanticValueSemanticResultKeySemanticResultValue 如果遇到这些情况,语音识别器可能会引发异常。

另请参阅

适用于

Add(GrammarBuilder, GrammarBuilder)

Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs

创建一个包含两GrammarBuilder个对象的序列的新GrammarBuilder对象。

public:
 static System::Speech::Recognition::GrammarBuilder ^ Add(System::Speech::Recognition::GrammarBuilder ^ builder1, System::Speech::Recognition::GrammarBuilder ^ builder2);
public static System.Speech.Recognition.GrammarBuilder Add(System.Speech.Recognition.GrammarBuilder builder1, System.Speech.Recognition.GrammarBuilder builder2);
static member Add : System.Speech.Recognition.GrammarBuilder * System.Speech.Recognition.GrammarBuilder -> System.Speech.Recognition.GrammarBuilder
Public Shared Function Add (builder1 As GrammarBuilder, builder2 As GrammarBuilder) As GrammarBuilder

参数

builder1
GrammarBuilder

第一个语法元素。

builder2
GrammarBuilder

第二个语法元素。

返回

后跟元素的builder1元素序列的 builder2 AGrammarBuilder

示例

以下示例创建一个语音识别语法,该语法可以识别两个短语“制作背景 颜色”和“将背景设置为 颜色”,其中 颜色 是从一组颜色中选择的。 各种类型用于生成最终语法,如 StringChoicesGrammarBuilder对象。 对方法的调用 Add 中的显式强制转换运算符是可选的。

private Grammar CreateColorGrammar()
{

  // Create a set of color choices.
  Choices colorChoice = new Choices(new string[] {"red", "green", "blue"});

  // Create grammar builders for the two versions of the phrase.
  GrammarBuilder makePhrase =
    GrammarBuilder.Add((GrammarBuilder)"Make background", colorChoice);
  GrammarBuilder setPhrase =
    GrammarBuilder.Add("Set background to", (GrammarBuilder)colorChoice);

  // Create a Choices for the two alternative phrases, convert the Choices
  // to a GrammarBuilder, and construct the grammar from the result.
  Choices bothChoices = new Choices(new GrammarBuilder[] {makePhrase, setPhrase});
  GrammarBuilder bothPhrases = new GrammarBuilder(bothChoices);

  Grammar grammar = new Grammar(bothPhrases);
  grammar.Name = "backgroundColor";
  return grammar;
}

注解

GrammarBuilder 支持从以下类进行隐式转换:

此方法接受上面列出的对象或builder1builder2参数。

有关详细信息,请参阅 ImplicitAddition 运算符。

重要

将包含或实例的对象与其他语法元素组合ChoicesGrammarBuilder在一起时,请确保避免创建具有相同键名或多个语义元素的重复语义元素,这些元素可以重复修改Value对象的属性SemanticValueSemanticResultKeySemanticResultValue 如果遇到这些情况,语音识别器可能会引发异常。

另请参阅

适用于

Add(GrammarBuilder, String)

Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs

创建一个包含GrammarBuilder后跟短语的对象的新GrammarBuilder对象。

public:
 static System::Speech::Recognition::GrammarBuilder ^ Add(System::Speech::Recognition::GrammarBuilder ^ builder, System::String ^ phrase);
public static System.Speech.Recognition.GrammarBuilder Add(System.Speech.Recognition.GrammarBuilder builder, string phrase);
static member Add : System.Speech.Recognition.GrammarBuilder * string -> System.Speech.Recognition.GrammarBuilder
Public Shared Function Add (builder As GrammarBuilder, phrase As String) As GrammarBuilder

参数

builder
GrammarBuilder

第一个语法元素。

phrase
String

第二个语法元素,表示单词序列。

返回

后跟元素的builder元素序列的 phrase AGrammarBuilder

示例

以下示例创建一个语音识别语法,该语法可以识别两个短语“制作背景 颜色”和“将背景设置为 颜色”,其中 颜色 是从一组颜色中选择的。 各种类型用于生成最终语法,如 StringChoicesGrammarBuilder对象。 对方法的调用 Add 中的显式强制转换运算符是可选的。

private Grammar CreateColorGrammar()
{

  // Create a set of color choices.
  Choices colorChoice = new Choices(new string[] {"red", "green", "blue"});

  // Create grammar builders for the two versions of the phrase.
  GrammarBuilder makePhrase =
    GrammarBuilder.Add((GrammarBuilder)"Make background", colorChoice);
  GrammarBuilder setPhrase =
    GrammarBuilder.Add("Set background to", (GrammarBuilder)colorChoice);

  // Create a Choices for the two alternative phrases, convert the Choices
  // to a GrammarBuilder, and construct the grammar from the result.
  Choices bothChoices = new Choices(new GrammarBuilder[] {makePhrase, setPhrase});
  GrammarBuilder bothPhrases = new GrammarBuilder(bothChoices);

  Grammar grammar = new Grammar(bothPhrases);
  grammar.Name = "backgroundColor";
  return grammar;
}

注解

GrammarBuilder 支持从以下类进行隐式转换:

此方法接受上面 builder 列出的参数对象。

有关详细信息,请参阅 ImplicitAddition 运算符。

另请参阅

适用于

Add(String, GrammarBuilder)

Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs

创建一个包含后跟GrammarBuilder对象的短语的新GrammarBuilder内容。

public:
 static System::Speech::Recognition::GrammarBuilder ^ Add(System::String ^ phrase, System::Speech::Recognition::GrammarBuilder ^ builder);
public static System.Speech.Recognition.GrammarBuilder Add(string phrase, System.Speech.Recognition.GrammarBuilder builder);
static member Add : string * System.Speech.Recognition.GrammarBuilder -> System.Speech.Recognition.GrammarBuilder
Public Shared Function Add (phrase As String, builder As GrammarBuilder) As GrammarBuilder

参数

phrase
String

第一个语法元素,表示单词序列。

builder
GrammarBuilder

第二个语法元素。

返回

后跟元素的phrase元素序列的 builder AGrammarBuilder

示例

以下示例创建一个语音识别语法,该语法可以识别两个短语“制作背景 颜色”和“将背景设置为 颜色”,其中 颜色 是从一组颜色中选择的。 各种类型用于生成最终语法,如 StringChoicesGrammarBuilder对象。 对方法的调用 Add 中的显式强制转换运算符是可选的。

private Grammar CreateColorGrammar()
{

  // Create a set of color choices.
  Choices colorChoice = new Choices(new string[] {"red", "green", "blue"});

  // Create grammar builders for the two versions of the phrase.
  GrammarBuilder makePhrase =
    GrammarBuilder.Add((GrammarBuilder)"Make background", colorChoice);
  GrammarBuilder setPhrase =
    GrammarBuilder.Add("Set background to", (GrammarBuilder)colorChoice);

  // Create a Choices for the two alternative phrases, convert the Choices
  // to a GrammarBuilder, and construct the grammar from the result.
  Choices bothChoices = new Choices(new GrammarBuilder[] {makePhrase, setPhrase});
  GrammarBuilder bothPhrases = new GrammarBuilder(bothChoices);

  Grammar grammar = new Grammar(bothPhrases);
  grammar.Name = "backgroundColor";
  return grammar;
}

注解

GrammarBuilder 支持从以下类进行隐式转换:

此方法接受上面 builder 列出的参数对象。

有关详细信息,请参阅 ImplicitAddition 运算符。

另请参阅

适用于