Bagikan melalui


GrammarBuilder Konstruktor

Definisi

Menginisialisasi instans baru kelas GrammarBuilder.

Overload

GrammarBuilder()

Menginisialisasi instans kelas baru yang GrammarBuilder kosong.

GrammarBuilder(Choices)

Menginisialisasi instans GrammarBuilder baru kelas dari serangkaian alternatif.

GrammarBuilder(SemanticResultKey)

Menginisialisasi instans GrammarBuilder baru kelas dari kunci semantik.

GrammarBuilder(SemanticResultValue)

Menginisialisasi instans GrammarBuilder baru kelas dari nilai semantik.

GrammarBuilder(String)

Menginisialisasi instans GrammarBuilder baru kelas dari urutan kata.

GrammarBuilder(String, SubsetMatchingMode)

Menginisialisasi instans GrammarBuilder baru kelas untuk subkumpulan urutan kata.

GrammarBuilder(GrammarBuilder, Int32, Int32)

Menginisialisasi instans GrammarBuilder baru kelas dari elemen berulang.

GrammarBuilder(String, Int32, Int32)

Menginisialisasi instans GrammarBuilder baru kelas dari urutan kata dalam dan String menentukan berapa kali String dapat diulang.

Keterangan

Instans kelas ini juga dapat diperoleh dengan konversi implisit dari kelas lain atau dengan menggabungkan GrammarBuilder objek dengan objek kedua ke dari yang baru GrammarBuilder. Untuk informasi selengkapnya, lihat Implicit metode dan Addition .

Untuk menambahkan batasan GrammarBuilderke yang sudah ada, gunakan Addmetode , , AppendAppendDictation, AppendRuleReference, dan AppendWildcard , dan Addition operator .

Penting

Pengenal ucapan dapat memberikan pengecualian saat menggunakan tata bahasa pengenalan ucapan yang berisi elemen semantik duplikat dengan nama kunci yang sama atau beberapa elemen semantik yang dapat berulang kali memodifikasi nilai elemen semantik yang sama.

Untuk informasi selengkapnya tentang membangun dan menggunakan tata bahasa pengenalan ucapan, lihat Pengenalan Ucapan.

GrammarBuilder()

Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs

Menginisialisasi instans kelas baru yang GrammarBuilder kosong.

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

Contoh

Contoh berikut menggunakan GrammarBuilder objek dan Choices untuk membuat tata bahasa yang dapat mengenali salah satu dari dua frasa, "Buat warna latar belakangChoice" atau "Atur latar belakang ke colorChoice".

Contoh menggunakan Choices objek untuk membuat daftar nilai yang dapat diterima untuk colorChoice dari array String objek. Objek Choices dianalogikan dengan one-of elemen dalam spesifikasi SRGS, dan berisi sekumpulan frasa alternatif, salah satunya dapat dikenali saat diucapkan. Contohnya juga menggunakan Choices objek untuk mengelompokkan array dua GrammarBuilder objek ke dalam sepasang frasa alternatif yang dapat dikenali tata bahasa yang dihasilkan. Kata atau frasa alternatif adalah komponen dari sebagian besar tata bahasa, dan Choices objek menyediakan fungsionalitas ini untuk tata bahasa yang dibangun dengan GrammarBuilder.

Contoh akhirnya membuat Grammar objek dari yang GrammarBuilder dibangun dari Choices objek .

private Grammar CreateColorGrammar()
{

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

  // Create grammar builders for the two versions of the phrase.
  GrammarBuilder makePhrase = new GrammarBuilder("Make background");
  makePhrase.Append(colorElement);
  GrammarBuilder setPhrase = new GrammarBuilder("Set background to");
  setPhrase.Append(colorElement);

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

Keterangan

Untuk menambahkan aturan ke objek yang adaGrammarBuilder, gunakan Addmetode , , AppendAppendDictation, AppendRuleReference, dan AppendWildcard , dan Addition operator .

Penting

Pengenal ucapan dapat memberikan pengecualian saat menggunakan tata bahasa pengenalan ucapan yang berisi elemen semantik duplikat dengan nama kunci yang sama atau beberapa elemen semantik yang dapat berulang kali memodifikasi nilai elemen semantik yang sama.

Lihat juga

Berlaku untuk

GrammarBuilder(Choices)

Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs

Menginisialisasi instans GrammarBuilder baru kelas dari serangkaian alternatif.

public:
 GrammarBuilder(System::Speech::Recognition::Choices ^ alternateChoices);
public GrammarBuilder (System.Speech.Recognition.Choices alternateChoices);
new System.Speech.Recognition.GrammarBuilder : System.Speech.Recognition.Choices -> System.Speech.Recognition.GrammarBuilder
Public Sub New (alternateChoices As Choices)

Parameter

alternateChoices
Choices

Set alternatif.

Contoh

Contoh berikut menggunakan GrammarBuilder objek dan Choices untuk membuat tata bahasa yang dapat mengenali salah satu dari dua frasa, "Buat warna latar belakangChoice" atau "Atur latar belakang ke colorChoice".

Contoh menggunakan Choices objek untuk membuat daftar nilai yang dapat diterima untuk colorChoice dari array String objek. Objek Choices dianalogikan dengan one-of elemen dalam spesifikasi SRGS, dan berisi sekumpulan frasa alternatif, yang salah satunya dapat dikenali saat diucapkan. Contohnya juga menggunakan Choices objek untuk mengelompokkan array dua GrammarBuilder objek ke dalam sepasang frasa alternatif yang dapat dikenali tata bahasa yang dihasilkan. Kata atau frasa alternatif adalah komponen dari sebagian besar tata bahasa, dan Choices objek menyediakan fungsionalitas ini untuk tata bahasa yang dibangun dengan GrammarBuilder.

Contoh akhirnya membuat Grammar objek dari yang GrammarBuilder dibangun dari Choices objek .

private Grammar CreateColorGrammar()
{

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

  // Create grammar builders for the two versions of the phrase.
  GrammarBuilder makePhrase = new GrammarBuilder("Make background");
  makePhrase.Append(colorElement);
  GrammarBuilder setPhrase = new GrammarBuilder("Set background to");
  setPhrase.Append(colorElement);

  // 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});
  Grammar grammar = new Grammar((GrammarBuilder)bothChoices);
  grammar.Name = "backgroundColor";
  return grammar;
}

Keterangan

Untuk informasi selengkapnya tentang membangun tata bahasa pengenalan ucapan yang berisi alternatif, lihat Menggunakan Pilihan untuk Membuat Tata Bahasa Pembuat Tata Bahasa.

Lihat juga

Berlaku untuk

GrammarBuilder(SemanticResultKey)

Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs

Menginisialisasi instans GrammarBuilder baru kelas dari kunci semantik.

public:
 GrammarBuilder(System::Speech::Recognition::SemanticResultKey ^ key);
public GrammarBuilder (System.Speech.Recognition.SemanticResultKey key);
new System.Speech.Recognition.GrammarBuilder : System.Speech.Recognition.SemanticResultKey -> System.Speech.Recognition.GrammarBuilder
Public Sub New (key As SemanticResultKey)

Parameter

key
SemanticResultKey

Kunci semantik.

Contoh

Contoh berikut membuat tata bahasa pengenalan ucapan yang dapat mengenali dua frasa, "Buat colorChoice latar belakang" dan "Atur latar belakang ke colorChoice", di mana colorChoice dipilih dari serangkaian warna. Tata bahasa memungkinkan pengguna berbicara salah satu dari beberapa nama warna, dan mengembalikan informasi semantik tentang nama warna yang dikenali ke aplikasi.

Contohnya menggunakan satu SemanticResultKey yang dapat Anda ambil SemanticValue yang terkait dengan warna yang diucapkan oleh pengguna. Misalnya, jika input berisi frasa, "Atur latar belakang ke merah", hasil pengenalan berisi nilai semantik "#FF0000", yang dapat Anda ambil menggunakan handler untuk peristiwa tersebut SpeechRecognized .

Contohnya menggunakan Stringobjek , Choices, SemanticResultKey, SemanticResultValue, dan GrammarBuilder untuk membangun batasan yang semuanya terkandung dalam objek terakhir GrammarBuilder , bothPhrases. Terakhir, contoh membuat Grammar objek dari yang telah selesai GrammarBuilder.

private Grammar CreateColorGrammar()
{

  // Create a set of color choices.
  // Include semantic information about each of the colors.
  Choices colorChoice = new Choices();

  GrammarBuilder colorBuilder = new GrammarBuilder("red");
  SemanticResultValue colorValue =
    new SemanticResultValue(colorBuilder, "#FF0000");
  colorChoice.Add(new GrammarBuilder(colorValue));

  colorBuilder = new GrammarBuilder("green");
  colorValue = new SemanticResultValue(colorBuilder, "#00FF00");
  colorChoice.Add(new GrammarBuilder(colorValue));

  colorBuilder = new GrammarBuilder("blue");
  colorValue = new SemanticResultValue(colorBuilder, "#0000FF");
  colorChoice.Add(new GrammarBuilder(colorValue));

  GrammarBuilder colorElement = new GrammarBuilder(colorChoice);

  // Create grammar builders for the two versions of the phrase.
  GrammarBuilder makePhrase = new GrammarBuilder("Make background");
  makePhrase.Append(colorElement);
  GrammarBuilder setPhrase = new GrammarBuilder("Set background to");
  setPhrase.Append(colorElement);

  // Create a Choices object for the two alternative phrases.
  Choices bothChoices = new Choices(new GrammarBuilder[] {makePhrase, setPhrase});
  GrammarBuilder bothPhrases = new GrammarBuilder(bothChoices);

  // Create the semantic key for referencing the color information.
  SemanticResultKey colorKey =
    new SemanticResultKey("ColorCode", bothPhrases);
  bothPhrases = new GrammarBuilder(colorKey);

  // Construct the Grammar object from the GrammarBuilder.
  Grammar grammar = new Grammar(bothPhrases);
  grammar.Name = "backgroundColor";
  return grammar;
}

Keterangan

Saat Anda membuat GrammarBuilder instans dari SemanticResultValue objek, Anda menambahkan informasi semantik ke tata bahasa yang dapat dikembalikan dalam hasil pengenalan. Anda dapat mengakses informasi semantik dalam hasil pengenalan RecognizedPhrasemenggunakan Semantics properti , yang tersedia di handler untuk peristiwa tersebutSpeechRecognized. GrammarBuilder Jika mendefinisikan SemanticResultKey, ini dapat digunakan untuk mengambil informasi semantik dalam hasil pengenalan yang terkait dengan kunci. Lihat contoh untuk Append(SemanticResultKey), dan juga lihat SemanticResultValue dan SemanticResultKey.

Penting

Saat Anda membuat GrammarBuilder objek yang berisi SemanticResultValueSemanticResultKey atau instans, pastikan Anda menghindari pembuatan elemen semantik duplikat dengan nama kunci yang sama atau beberapa elemen semantik yang dapat berulang kali memodifikasi Value properti SemanticValue objek. Pengenal ucapan dapat memberikan pengecualian jika mengalami keadaan ini.

Lihat juga

Berlaku untuk

GrammarBuilder(SemanticResultValue)

Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs

Menginisialisasi instans GrammarBuilder baru kelas dari nilai semantik.

public:
 GrammarBuilder(System::Speech::Recognition::SemanticResultValue ^ value);
public GrammarBuilder (System.Speech.Recognition.SemanticResultValue value);
new System.Speech.Recognition.GrammarBuilder : System.Speech.Recognition.SemanticResultValue -> System.Speech.Recognition.GrammarBuilder
Public Sub New (value As SemanticResultValue)

Parameter

value
SemanticResultValue

Nilai semantik atau pasangan nama/nilai.

Contoh

Contoh berikut membuat tata bahasa pengenalan ucapan yang dapat mengenali dua frasa, "Buat colorChoice latar belakang" dan "Atur latar belakang ke colorChoice", di mana colorChoice dipilih dari serangkaian warna. Tata bahasa memungkinkan pengguna berbicara salah satu dari beberapa nama warna, dan mengembalikan informasi semantik tentang nama warna yang dikenali ke aplikasi.

Contohnya menggunakan satu SemanticResultKey yang dapat Anda ambil SemanticValue yang terkait dengan warna yang diucapkan oleh pengguna. Misalnya, jika input berisi frasa, "Atur latar belakang ke merah", hasil pengenalan berisi nilai semantik "#FF0000", yang dapat Anda ambil menggunakan handler untuk peristiwa tersebut SpeechRecognized .

Contohnya menggunakan Stringobjek , Choices, SemanticResultKey, SemanticResultValue, dan GrammarBuilder untuk membangun batasan yang semuanya terkandung dalam objek terakhir GrammarBuilder , bothPhrases. Terakhir, contoh membuat Grammar objek dari yang telah selesai GrammarBuilder.

private Grammar CreateColorGrammar()
{

  // Create a set of color choices.
  // Include semantic information about each of the colors.
  Choices colorChoice = new Choices();

  GrammarBuilder colorBuilder = new GrammarBuilder("red");
  SemanticResultValue colorValue =
    new SemanticResultValue(colorBuilder, "#FF0000");
  colorChoice.Add(new GrammarBuilder(colorValue));

  colorBuilder = new GrammarBuilder("green");
  colorValue = new SemanticResultValue(colorBuilder, "#00FF00");
  colorChoice.Add(new GrammarBuilder(colorValue));

  colorBuilder = new GrammarBuilder("blue");
  colorValue = new SemanticResultValue(colorBuilder, "#0000FF");
  colorChoice.Add(new GrammarBuilder(colorValue));

  GrammarBuilder colorElement = new GrammarBuilder(colorChoice);

  // Create grammar builders for the two versions of the phrase.
  GrammarBuilder makePhrase = new GrammarBuilder("Make background");
  makePhrase.Append(colorElement);
  GrammarBuilder setPhrase = new GrammarBuilder("Set background to");
  setPhrase.Append(colorElement);

  // Create a Choices for the two alternative phrases.
  Choices bothChoices = new Choices(new GrammarBuilder[] {makePhrase, setPhrase});
  GrammarBuilder bothPhrases = new GrammarBuilder(bothChoices);

  // Create the semantic key for referencing the color information.
  SemanticResultKey colorKey =
    new SemanticResultKey("ColorCode", bothPhrases);
  bothPhrases = new GrammarBuilder(colorKey);

  // Construct the grammar from the grammar builder.
  Grammar grammar = new Grammar(bothPhrases);
  grammar.Name = "backgroundColor";
  return grammar;
}

Keterangan

Saat Anda membuat GrammarBuilder instans dari SemanticResultValue objek, Anda menambahkan informasi semantik ke tata bahasa yang dapat dikembalikan dalam hasil pengenalan. Anda dapat mengakses informasi semantik dalam hasil pengenalan RecognizedPhrasemenggunakan Semantics properti , yang tersedia di handler untuk peristiwa tersebutSpeechRecognized. GrammarBuilder Jika mendefinisikan SemanticResultKey, ini dapat digunakan untuk mengambil informasi semantik dalam hasil pengenalan yang terkait dengan kunci. Lihat contoh untuk Append(SemanticResultKey), dan juga lihat SemanticResultValue dan SemanticResultKey.

Penting

Saat Anda membuat GrammarBuilder objek yang berisi SemanticResultValueSemanticResultKey atau instans, pastikan Anda menghindari pembuatan elemen semantik duplikat dengan nama kunci yang sama atau beberapa elemen semantik yang dapat berulang kali memodifikasi Value properti SemanticValue objek. Pengenal ucapan dapat memberikan pengecualian jika mengalami keadaan ini.

Lihat juga

Berlaku untuk

GrammarBuilder(String)

Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs

Menginisialisasi instans GrammarBuilder baru kelas dari urutan kata.

public:
 GrammarBuilder(System::String ^ phrase);
public GrammarBuilder (string phrase);
new System.Speech.Recognition.GrammarBuilder : string -> System.Speech.Recognition.GrammarBuilder
Public Sub New (phrase As String)

Parameter

phrase
String

Urutan kata-kata.

Contoh

Contoh berikut menggunakan GrammarBuilder objek dan Choices untuk membuat tata bahasa yang dapat mengenali salah satu dari dua frasa, "Buat warna latar belakangChoice" atau "Atur latar belakang ke colorChoice".

Setelah membuat daftar nilai yang dapat diterima untuk colorChoice menggunakan Choices objek, contohnya menginisialisasi dua GrammarBuilder objek, makePhrase dan setPhrase, menggunakan string sebagai argumen.

Contoh akhirnya membuat Grammar objek dari objek yang Choices dilemparkan ke GrammarBuilder objek .

private Grammar CreateColorGrammar()
{

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

  // Create grammar builders for the two versions of the phrase.
  GrammarBuilder makePhrase = new GrammarBuilder("Make background");
  makePhrase.Append(colorElement);
  GrammarBuilder setPhrase = new GrammarBuilder("Set background to");
  setPhrase.Append(colorElement);

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

Keterangan

Frasa mewakili frasa lisan yang tepat yang dapat dikenali oleh tata bahasa pengenalan ucapan. Untuk informasi selengkapnya tentang membangun tata bahasa pengenalan ucapan yang berisi string, lihat Menggunakan String untuk Membuat Tata Bahasa Pembuat Tata Bahasa.

Lihat juga

Berlaku untuk

GrammarBuilder(String, SubsetMatchingMode)

Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs

Menginisialisasi instans GrammarBuilder baru kelas untuk subkumpulan urutan kata.

public:
 GrammarBuilder(System::String ^ phrase, System::Speech::Recognition::SubsetMatchingMode subsetMatchingCriteria);
public GrammarBuilder (string phrase, System.Speech.Recognition.SubsetMatchingMode subsetMatchingCriteria);
new System.Speech.Recognition.GrammarBuilder : string * System.Speech.Recognition.SubsetMatchingMode -> System.Speech.Recognition.GrammarBuilder
Public Sub New (phrase As String, subsetMatchingCriteria As SubsetMatchingMode)

Parameter

phrase
String

Urutan kata-kata.

subsetMatchingCriteria
SubsetMatchingMode

Mode pencocokan yang digunakan tata bahasa pengenalan ucapan untuk mengenali frasa.

Contoh

Contoh berikut membuat tata bahasa pengenalan ucapan untuk setiap SubsetMatchingMode nilai dan tata bahasa untuk memilih antara tata bahasa mode yang cocok. Jika nilainya phrase adalah "satu dua tiga empat lima enam tujuh", maka tata bahasa Berikutnya mengenali input "dua tiga empat", tetapi bukan input "satu tiga lima". Namun, tata bahasa Subset yang Diurutkan mengenali kedua input ini.

private static IEnumerable<Grammar>
  CreateMatchingModeGrammars(string phrase)
{
  List<Grammar> grammars = new List<Grammar>(5);

  Choices modeChoice = new Choices();
  Type enumType = typeof(SubsetMatchingMode);
  foreach (SubsetMatchingMode mode in Enum.GetValues(enumType))
  {
    string modeName = Enum.GetName(enumType, mode);
    modeName = BreakAtCaps(modeName);

    GrammarBuilder builder = new GrammarBuilder(phrase, mode);
    Grammar modeGrammar = new Grammar(builder);
    modeGrammar.Name = modeName;
    modeGrammar.Enabled = false;
    grammars.Add(modeGrammar);

    modeChoice.Add(modeName);
  }

  Grammar choiceGrammar = new Grammar(modeChoice);
  choiceGrammar.Name = "choice";
  grammars.Add(choiceGrammar);

  return grammars;
}

// Insert spaces preceding each uppercase letter in a string.
private static string BreakAtCaps(string item)
{
  if (item == null || item.Length == 0)
  {
    return item;
  }

  StringBuilder sb = new StringBuilder(item[0].ToString());
  for (int i = 1; i < item.Length; i++)
  {
    char c = item[i];
    if (char.IsUpper(c))
    {
      sb.Append(" ");
    }
    sb.Append(c);
  }

  return sb.ToString();
}

Keterangan

Parameter phrase mewakili frasa yang dapat dikenali oleh tata bahasa pengenalan ucapan. Parameter subsetMatchingMode menentukan subset frasa yang dapat diucapkan untuk mencapai pengenalan yang berhasil dari seluruh frasa. Anda dapat menggunakan ini untuk membuat tata bahasa dengan daftar entri yang memiliki nama panjang, tanpa mengharuskan pengguna mengucapkan seluruh nama agar sesuai dengan item.

Untuk informasi selengkapnya tentang mode pencocokan, lihat SubsetMatchingMode. Untuk informasi selengkapnya tentang membangun tata bahasa pengenalan ucapan yang berisi string, lihat Menggunakan String untuk Membuat Tata Bahasa Pembuat Tata Bahasa.

Lihat juga

Berlaku untuk

GrammarBuilder(GrammarBuilder, Int32, Int32)

Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs

Menginisialisasi instans GrammarBuilder baru kelas dari elemen berulang.

public:
 GrammarBuilder(System::Speech::Recognition::GrammarBuilder ^ builder, int minRepeat, int maxRepeat);
public GrammarBuilder (System.Speech.Recognition.GrammarBuilder builder, int minRepeat, int maxRepeat);
new System.Speech.Recognition.GrammarBuilder : System.Speech.Recognition.GrammarBuilder * int * int -> System.Speech.Recognition.GrammarBuilder
Public Sub New (builder As GrammarBuilder, minRepeat As Integer, maxRepeat As Integer)

Parameter

builder
GrammarBuilder

Elemen berulang.

minRepeat
Int32

Jumlah minimum kali input yang cocok dengan elemen yang ditentukan oleh builder harus terjadi untuk merupakan kecocokan.

maxRepeat
Int32

Jumlah maksimum kali input yang cocok dengan elemen yang ditentukan oleh builder dapat terjadi untuk merupakan kecocokan.

Contoh

Contoh berikut membuat tata bahasa pengenalan ucapan untuk memesan pizza. Dimulai dengan frasa pembuka opsional, diikuti dengan satu hingga empat topping, dan ditutup dengan kata "pizza".

private static Grammar CreatePizzaGrammar()
{

  // Create a Choices object from a string array of alternative toppings.
  Choices toppings = new Choices(new string[] {
    "cheese", "mushroom", "tomato", "onion",
    "anchovy", "chicken", "pepperoni"});

  // Create a GrammarBuilder and append the Choices object.
  GrammarBuilder andToppings = new GrammarBuilder("and", 0, 1);
  andToppings.Append(toppings);

  // Construct the phrase.
  GrammarBuilder gb = new GrammarBuilder("I would like a", 0, 1);
  gb.Append(toppings);
  gb.Append(new GrammarBuilder(andToppings, 0, 3));
  gb.Append("pizza");

  // Create the Grammar from the GrammarBuilder.
  Grammar grammar = new Grammar(gb);
  grammar.Name = "Pizza Order";

  return grammar;
}

Keterangan

Jika nilainya minRepeat adalah 0, maka yang baru GrammarBuilder mewakili elemen opsional.

Nilai minRepeat harus lebih besar dari atau sama dengan 0 dan kurang dari atau sama dengan nilai maxRepeat.

Penting

Saat Anda menentukan pengulangan untuk GrammarBuilder objek yang berisi SemanticResultValue atau SemanticResultKey instans, pastikan Anda menghindari pembuatan elemen semantik duplikat dengan nama kunci yang sama atau beberapa elemen semantik yang dapat berulang kali mengubah Value properti SemanticValue objek. Pengenal ucapan dapat memberikan pengecualian jika mengalami keadaan ini.

Lihat juga

Berlaku untuk

GrammarBuilder(String, Int32, Int32)

Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs

Menginisialisasi instans GrammarBuilder baru kelas dari urutan kata dalam dan String menentukan berapa kali String dapat diulang.

public:
 GrammarBuilder(System::String ^ phrase, int minRepeat, int maxRepeat);
public GrammarBuilder (string phrase, int minRepeat, int maxRepeat);
new System.Speech.Recognition.GrammarBuilder : string * int * int -> System.Speech.Recognition.GrammarBuilder
Public Sub New (phrase As String, minRepeat As Integer, maxRepeat As Integer)

Parameter

phrase
String

Urutan kata yang berulang.

minRepeat
Int32

Jumlah minimum kali input yang cocok dengan frasa harus terjadi untuk merupakan kecocokan.

maxRepeat
Int32

Jumlah maksimum berapa kali input yang cocok dengan frasa dapat terjadi untuk merupakan kecocokan.

Contoh

Contoh berikut membuat tata bahasa pengenalan ucapan untuk memesan pizza. Dimulai dengan frasa pembuka opsional, diikuti dengan satu hingga empat topping, dan ditutup dengan kata "pizza".

private static Grammar CreatePizzaGrammar()
{

  // Create a Choices object with alternatives for toppings.
  Choices toppings = new Choices(new string[] {
    "cheese", "mushroom", "tomato", "onion",
    "anchovy", "chicken", "pepperoni"});

  // Create a GrammarBuilder and append the Choices object.
  GrammarBuilder andToppings = new GrammarBuilder("and", 0, 1);
  andToppings.Append(toppings);

  // Construct the phrase.
  GrammarBuilder gb = new GrammarBuilder("I would like a", 0, 1);
  gb.Append(toppings);
  gb.Append(new GrammarBuilder(andToppings, 0, 3));
  gb.Append("pizza");

  // Create the Grammar from the GrammarBuilder.
  Grammar grammar = new Grammar(gb);
  grammar.Name = "Pizza Order";

  return grammar;
}

Keterangan

Jika nilainya minRepeat adalah 0, maka yang baru GrammarBuilder mewakili elemen opsional.

Nilai minRepeat harus lebih besar dari atau sama dengan 0 dan kurang dari atau sama dengan nilai maxRepeat. Untuk informasi selengkapnya tentang membangun tata bahasa pengenalan ucapan yang berisi string, lihat Menggunakan String untuk Membuat Tata Bahasa Pembuat Tata Bahasa.

Lihat juga

Berlaku untuk