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()

來源:
Choices.cs
來源:
Choices.cs
來源:
Choices.cs

初始化包含空的替代項目集合之 Choices 類別的新執行個體。

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

範例

下列範例會使用 ChoicesGrammarBuilder 物件來建立可用來辨識語音輸入的片語,例如「Call Anne on her cell」 和 「Call James on his work phone」。 此範例會使用 和 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[])

來源:
Choices.cs
來源:
Choices.cs
來源:
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 物件來建立 Grammar 片語的 ,例如「在她的儲存格上呼叫 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);  
}  

備註

中的每個 GrammarBuilder 都會 alternateChoices 定義一個替代方案。 如果 alternateChoices 是空陣列,建構函式會傳回一組空的替代專案。 您可以使用任何 Add 方法新增替代專案。

alternateChoices 構函式會在 ArgumentNullExceptionnull 或 任何陣列專案為 null 時擲回 。

因為 類別 GrammarBuilder 支援將 、 SemanticResultValueSemanticResultKey 物件 GrammarBuilder 隱含轉換成 Choices 實例,所以使用轉換時,也可以使用這個建構函式,從這些物件的任何組合清單中建立 Choices 物件。

另請參閱

適用於

Choices(String[])

來源:
Choices.cs
來源:
Choices.cs
來源:
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 物件來建立 Grammar 片語的 ,例如「Call Anne on her cell」 和 「Call James on his work phone」。 此範例會使用 和 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 或任何陣列專案為 nullphrases ,建構函式會 ArgumentNullException 擲回 。 如果陣列中的任何專案是空字串,則建構函式會 ArgumentException 擲回 (「」) 。

另請參閱

適用於