Share via


Choices 构造函数

定义

初始化 Choices 类的新实例。

重载

Choices()

初始化包含空备选项集的 Choices 类的新实例。

Choices(GrammarBuilder[])

从包含一个或多个 Choices 对象数组初始化 GrammarBuilder 类的新实例。

Choices(String[])

从包含一个或多个 Choices 对象数组初始化 String 类的新实例。

示例

以下示例使用 Choices 对象创建两个替代项列表。

第一个 Choices 对象是从 对象的数组构造的 String 。 另 Choices 一个对象是从已由强制转换隐式转换的对象 GrammarBuilder 数组构造的。

该示例使用 GrammarBuilder 对象来组合一个短语,使用 Choices 对象和两个附加字符串,这些字符串可用于识别“在 [phoneType] 电话上调用 [contactlList] ”形式的语音输入,例如“使用手机呼叫 Jane”。

public GrammarBuilder ChoicesConstructor2 ()  
{  
    GrammarBuilder gb = new GrammarBuilder ();  
    Choices phoneType = new Choices (new string[] {"cell", "home", "work"});  
    Choices contactList = new Choices (new GrammarBuilder[] {(GrammarBuilder) "Mark", (GrammarBuilder) "Jane", (GrammarBuilder) "Frank"});  
    gb.Append ("Call");  
    gb.Append (contactList);  
    gb.Append ("on");  
    gb.Append (phoneType);  
    gb.Append ("phone");  
    return gb;  
}  

注解

可以使用 Choices 无参数构造函数构造对象, (该构造函数从一组 String 对象或一组 GrammarBuilder 对象返回) 空对象。

GrammarBuilder由于 对象支持从 SemanticResultValueSemanticResultKey的隐式转换,Choices因此可以使用强制转换从这些 对象的数组构造 。

Choices()

Source:
Choices.cs
Source:
Choices.cs
Source:
Choices.cs

初始化包含空备选项集的 Choices 类的新实例。

public:
 Choices();
public Choices ();
Public Sub New ()

示例

以下示例使用 ChoicesGrammarBuilder 对象创建可用于识别语音输入的短语,例如“在单元格上呼叫 Anne”和“在其工作电话上呼叫 James”。 该示例使用从 ChoicesStringGrammarBuilder的隐式强制转换。

public Grammar CreatePhonePhrase()  
{  

  // Create alternatives for female names and add a phrase.  
  GrammarBuilder females = new Choices(new string[] { "Anne", "Mary" });  
  females.Append("on her");  

  // Create alternatives for male names and add a phrase.  
  GrammarBuilder males = new Choices(new string[] { "James", "Sam" });  
  males.Append("on his");  

  // Create a Choices object that contains an array of alternative  
  // GrammarBuilder objects.  
  Choices people = new Choices();  
  people.Add(new Choices(new GrammarBuilder[] {females, males}));  

  // Create a Choices object that contains a set of alternative phone types.  
  Choices phoneType = new Choices();  
  phoneType.Add(new string[] { "cell", "home", "work" });  

  // Construct the phrase.  
  GrammarBuilder gb = new GrammarBuilder();  
  gb.Append("call");  
  gb.Append(people);  
  gb.Append(phoneType);  
  gb.Append(new GrammarBuilder("phone"), 0, 1);  

  return new Grammar(gb);  
}  

注解

此构造函数返回一组有效的空替代项。 可以使用任何 Add 方法添加替代项。

另请参阅

适用于

Choices(GrammarBuilder[])

Source:
Choices.cs
Source:
Choices.cs
Source:
Choices.cs

从包含一个或多个 Choices 对象数组初始化 GrammarBuilder 类的新实例。

public:
 Choices(... cli::array <System::Speech::Recognition::GrammarBuilder ^> ^ alternateChoices);
public Choices (params System.Speech.Recognition.GrammarBuilder[] alternateChoices);
new System.Speech.Recognition.Choices : System.Speech.Recognition.GrammarBuilder[] -> System.Speech.Recognition.Choices
Public Sub New (ParamArray alternateChoices As GrammarBuilder())

参数

alternateChoices
GrammarBuilder[]

包含替代组的数组。

示例

以下示例使用 ChoicesGrammarBuilder 对象为诸如“在单元格上呼叫 Anne”和“在其工作电话上呼叫 James”等短语创建 Grammar 。 该示例使用从 ChoicesStringGrammarBuilder的隐式强制转换。

public Grammar CreatePhonePhrase()  
{  

  // Create alternatives for female names and add a phrase.  
  GrammarBuilder females = new Choices(new string[] { "Anne", "Mary" });  
  females.Append("on her");  

  // Create alternatives for male names and add a phrase.  
  GrammarBuilder males = new Choices(new string[] { "James", "Sam" });  
  males.Append("on his");  

  // Create a Choices object that contains an array of alternative  
  // GrammarBuilder objects.  
  Choices people = new Choices();  
  people.Add(new Choices(new GrammarBuilder[] {females, males}));  

  // Create a Choices object that contains a set of alternative phone types.  
  Choices phoneType = new Choices();  
  phoneType.Add(new string[] { "cell", "home", "work" });  

  // Construct the phrase.  
  GrammarBuilder gb = new GrammarBuilder();  
  gb.Append("call");  
  gb.Append(people);  
  gb.Append(phoneType);  
  gb.Append(new GrammarBuilder("phone"), 0, 1);  

  return new Grammar(gb);  
}  

注解

中的每个 GrammarBuilder 定义 alternateChoices 一个替代项。 如果 alternateChoices 是空数组,则构造函数返回一组空的替代项。 可以使用任何 Add 方法添加替代项。

当 为 null 或任何数组元素为 nullalternateChoices,构造函数将引发 ArgumentNullException

GrammarBuilder由于 类支持通过正确使用强制转换将 、 SemanticResultValueSemanticResultKey 对象隐GrammarBuilder式转换为Choices实例,因此此构造函数还可用于从这些对象的任意组合的列表创建 Choices 对象。

另请参阅

适用于

Choices(String[])

Source:
Choices.cs
Source:
Choices.cs
Source:
Choices.cs

从包含一个或多个 Choices 对象数组初始化 String 类的新实例。

public:
 Choices(... cli::array <System::String ^> ^ phrases);
public Choices (params string[] phrases);
new System.Speech.Recognition.Choices : string[] -> System.Speech.Recognition.Choices
Public Sub New (ParamArray phrases As String())

参数

phrases
String[]

包含替代组的数组。

示例

以下示例使用 ChoicesGrammarBuilder 对象为诸如“在单元格上呼叫 Anne”和“在其工作电话上呼叫 James”等短语创建 Grammar 。 该示例使用从 ChoicesStringGrammarBuilder的隐式强制转换。

public Grammar CreatePhonePhrase()  
{  

  // Create alternatives for female names and add a phrase.  
  GrammarBuilder females = new Choices(new string[] { "Anne", "Mary" });  
  females.Append("on her");  

  // Create alternatives for male names and add a phrase.  
  GrammarBuilder males = new Choices(new string[] { "James", "Sam" });  
  males.Append("on his");  

  // Create a Choices object that contains an array of alternative  
  // GrammarBuilder objects.  
  Choices people = new Choices();  
  people.Add(new Choices(new GrammarBuilder[] {females, males}));  

  // Create a Choices object that contains a set of alternative phone types.  
  Choices phoneType = new Choices();  
  phoneType.Add(new string[] { "cell", "home", "work" });  

  // Construct the phrase.  
  GrammarBuilder gb = new GrammarBuilder();  
  gb.Append("call");  
  gb.Append(people);  
  gb.Append(phoneType);  
  gb.Append(new GrammarBuilder("phone"), 0, 1);  

  return new Grammar(gb);  
}  

注解

中的每个 String 定义 phrases 一个替代项。 语音识别引擎可以使用字符串数组中的任何一个项来匹配语音输入。 如果 phrases 是空数组,则构造函数返回一组空的替代项。 可以使用任何 Add 方法添加替代项。

当 为 null 或任一ArgumentNullException数组元素为 nullphrases,构造函数将引发 。 如果数组中的任何元素是空字符串 (“”) ,则构造函数将引发 ArgumentException

另请参阅

适用于