GrammarBuilder Конструкторы

Определение

Инициализирует новый экземпляр класса GrammarBuilder.

Перегрузки

Имя Описание
GrammarBuilder()

Инициализирует новый пустой экземпляр GrammarBuilder класса.

GrammarBuilder(Choices)

Инициализирует новый экземпляр GrammarBuilder класса из набора альтернативных вариантов.

GrammarBuilder(SemanticResultKey)

Инициализирует новый экземпляр GrammarBuilder класса из семантического ключа.

GrammarBuilder(SemanticResultValue)

Инициализирует новый экземпляр GrammarBuilder класса из семантического значения.

GrammarBuilder(String)

Инициализирует новый экземпляр GrammarBuilder класса из последовательности слов.

GrammarBuilder(String, SubsetMatchingMode)

Инициализирует новый экземпляр GrammarBuilder класса для подмножества последовательности слов.

GrammarBuilder(GrammarBuilder, Int32, Int32)

Инициализирует новый экземпляр GrammarBuilder класса из повторяющегося элемента.

GrammarBuilder(String, Int32, Int32)

Инициализирует новый экземпляр GrammarBuilder класса из последовательности слов и String указывает, сколько раз String может повторяться.

Комментарии

Экземпляры этого класса также можно получить путем неявных преобразований из других классов или объединения GrammarBuilder объекта со вторым объектом из нового GrammarBuilder. Дополнительные сведения см. в Implicit разделе и Addition методах.

Чтобы добавить ограничения в существующийGrammarBuilder, используйте AddAppendметоды , AppendDictationAppendRuleReferenceи методы, а AppendWildcard также Addition оператор.

Important

Распознаватель речи может вызвать исключение при использовании грамматики распознавания речи, содержащей повторяющиеся семантические элементы с одинаковым именем ключа или несколькими семантических элементов, которые могут многократно изменять значение одного и того же семантического элемента.

Дополнительные сведения о создании и использовании грамматик распознавания речи см. в разделе " Распознавание речи".

GrammarBuilder()

Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs

Инициализирует новый пустой экземпляр GrammarBuilder класса.

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

Примеры

В следующем примере используются GrammarBuilder и Choices объекты для создания грамматики, которая может распознавать любой из двух фраз: "Make background colorChoice" или "Set background to colorChoice".

В примере используется Choices объект для создания списка допустимых значений для colorChoice из массива String объектов. Объект Choices аналогиен one-of элементу спецификации SRGS и содержит набор альтернативных фраз, любой из которых можно распознать при разговоре. В примере также используется Choices объект для группировки массива двух GrammarBuilder объектов в пару альтернативных фраз, которые можно распознать результирующей грамматикой. Альтернативные слова или фразы являются компонентом большинства грамматик, и Choices объект предоставляет эту функцию для грамматик, созданных с GrammarBuilderпомощью .

В примере, наконец, создается Grammar объект из созданного GrammarBuilderChoices объекта.

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;
}

Комментарии

Чтобы добавить правила в существующий GrammarBuilder объект, используйте AddAppendметоды , AppendDictationAppendRuleReferenceи методы, а AppendWildcard также Addition оператор.

Important

Распознаватель речи может вызвать исключение при использовании грамматики распознавания речи, содержащей повторяющиеся семантические элементы с одинаковым именем ключа или несколькими семантических элементов, которые могут многократно изменять значение одного и того же семантического элемента.

См. также раздел

Применяется к

GrammarBuilder(Choices)

Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs

Инициализирует новый экземпляр GrammarBuilder класса из набора альтернативных вариантов.

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)

Параметры

alternateChoices
Choices

Набор альтернативных вариантов.

Примеры

В следующем примере используются GrammarBuilder и Choices объекты для создания грамматики, которая может распознавать любой из двух фраз: "Make background colorChoice" или "Set background to colorChoice".

В примере используется Choices объект для создания списка допустимых значений для colorChoice из массива String объектов. Объект Choices аналогиен one-of элементу в спецификации SRGS и содержит набор альтернативных фраз, любой из которых можно распознать при разговоре. В примере также используется Choices объект для группировки массива двух GrammarBuilder объектов в пару альтернативных фраз, которые можно распознать результирующей грамматикой. Альтернативные слова или фразы являются компонентом большинства грамматик, и Choices объект предоставляет эту функцию для грамматик, созданных с GrammarBuilderпомощью .

В примере, наконец, создается Grammar объект из созданного GrammarBuilderChoices объекта.

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;
}

Комментарии

Дополнительные сведения о создании грамматики распознавания речи, содержащей альтернативные варианты, см. в статье "Использование вариантов для создания грамматики GrammarBuilder".

См. также раздел

Применяется к

GrammarBuilder(SemanticResultKey)

Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs

Инициализирует новый экземпляр GrammarBuilder класса из семантического ключа.

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)

Параметры

key
SemanticResultKey

Семантический ключ.

Примеры

В следующем примере создается грамматика распознавания речи, которая может распознавать две фразы: "Сделать фон цветChoice" и "Задать фон для colorChoice", где colorChoice выбирается из набора цветов. Грамматика позволяет пользователю говорить любое из нескольких имен цветов и возвращает семантические сведения о распознаваемом имени цвета в приложении.

В этом примере используется один, SemanticResultKey с помощью которого можно получить SemanticValue объект, связанный с цветом, который говорится пользователем. Например, если входные данные содержат фразу "Задать фон на красный", результат распознавания содержит семантический значение "#FF0000", которое можно получить с помощью обработчика SpeechRecognized события.

В примере используются String, Choices, SemanticResultKeySemanticResultValueи GrammarBuilder объекты для создания ограничений, содержащихся в последнем GrammarBuilder объектеbothPhrases. Наконец, в примере создается Grammar объект из завершенного 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;
}

Комментарии

При создании экземпляра GrammarBuilderSemanticResultValue из объекта добавляется семантическая информация в грамматику, которую можно вернуть в результате распознавания. Вы можете получить доступ к семантической информации в результате распознавания с помощью Semantics свойства RecognizedPhrase, которое доступно в обработчике SpeechRecognized события. GrammarBuilder Если определяетсяSemanticResultKey, это можно использовать для получения семантической информации в результате распознавания, связанном с ключом. См. пример для Append(SemanticResultKey), а также см SemanticResultValue . и SemanticResultKey.

Important

При создании GrammarBuilder объектов, содержащих SemanticResultValue или экземпляров, следует избегать создания повторяющихся семантических элементов с одинаковым именем ключа или SemanticResultKey несколькими семантических элементов, которые могут многократно изменять Value свойство SemanticValue объекта. Распознаватель речи может вызвать исключение, если он сталкивается с этими обстоятельствами.

См. также раздел

Применяется к

GrammarBuilder(SemanticResultValue)

Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs

Инициализирует новый экземпляр GrammarBuilder класса из семантического значения.

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)

Параметры

value
SemanticResultValue

Семантическое значение или пара "имя-значение".

Примеры

В следующем примере создается грамматика распознавания речи, которая может распознавать две фразы: "Сделать фон цветChoice" и "Задать фон для colorChoice", где colorChoice выбирается из набора цветов. Грамматика позволяет пользователю говорить любое из нескольких имен цветов и возвращает семантические сведения о распознаваемом имени цвета в приложении.

В этом примере используется один, SemanticResultKey с помощью которого можно получить SemanticValue объект, связанный с цветом, который говорится пользователем. Например, если входные данные содержат фразу "Задать фон на красный", результат распознавания содержит семантический значение "#FF0000", которое можно получить с помощью обработчика SpeechRecognized события.

В примере используются String, Choices, SemanticResultKeySemanticResultValueи GrammarBuilder объекты для создания ограничений, содержащихся в последнем GrammarBuilder объектеbothPhrases. Наконец, в примере создается Grammar объект из завершенного 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;
}

Комментарии

При создании экземпляра GrammarBuilderSemanticResultValue из объекта добавляется семантическая информация в грамматику, которую можно вернуть в результате распознавания. Вы можете получить доступ к семантической информации в результате распознавания с помощью Semantics свойства RecognizedPhrase, которое доступно в обработчике SpeechRecognized события. GrammarBuilder Если определяетсяSemanticResultKey, это можно использовать для получения семантической информации в результате распознавания, связанном с ключом. См. пример для Append(SemanticResultKey), а также см SemanticResultValue . и SemanticResultKey.

Important

При создании GrammarBuilder объектов, содержащих SemanticResultValue или экземпляров, следует избегать создания повторяющихся семантических элементов с одинаковым именем ключа или SemanticResultKey несколькими семантических элементов, которые могут многократно изменять Value свойство SemanticValue объекта. Распознаватель речи может вызвать исключение, если он сталкивается с этими обстоятельствами.

См. также раздел

Применяется к

GrammarBuilder(String)

Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs

Инициализирует новый экземпляр GrammarBuilder класса из последовательности слов.

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)

Параметры

phrase
String

Последовательность слов.

Примеры

В следующем примере используются GrammarBuilder и Choices объекты для создания грамматики, которая может распознавать любой из двух фраз: "Make background colorChoice" или "Set background to colorChoice".

После создания списка допустимых значений для colorChoice с помощью Choices объекта пример инициализирует два GrammarBuilder объекта makePhrase и setPhraseиспользует строку в качестве аргумента.

В примере, наконец, создается Grammar объект из Choices объекта, приведения к объекту GrammarBuilder .

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;
}

Комментарии

Эта фраза представляет точную фразу, которую может распознать грамматика распознавания речи. Дополнительные сведения о создании грамматики распознавания речи, содержащей строки, см. в статье Using Strings to Create a GrammarBuilder GrammarBuilder Grammar.

См. также раздел

Применяется к

GrammarBuilder(String, SubsetMatchingMode)

Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs

Инициализирует новый экземпляр GrammarBuilder класса для подмножества последовательности слов.

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)

Параметры

phrase
String

Последовательность слов.

subsetMatchingCriteria
SubsetMatchingMode

Режим сопоставления грамматики распознавания речи используется для распознавания фразы.

Примеры

В следующем примере создается грамматика распознавания речи для каждого SubsetMatchingMode значения и грамматики для выбора между грамматиками режима сопоставления. Если значение phrase равно "одному из двух четырех четырех пяти шести семи", грамматика Subsequence распознает входные данные "два три четыре", но не входные данные "один три пять". Однако грамматика упорядоченного подмножества распознает оба этих входных данных.

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

Комментарии

Параметр phrase представляет фразу, которую может распознать грамматика распознавания речи. Параметр subsetMatchingMode задает подмножество фразы, которую можно говорить, чтобы добиться успешного распознавания всей фразы. Это можно использовать для создания грамматики со списком записей с длинными именами, не требуя, чтобы пользователи говорили целое имя для сопоставления элемента.

Дополнительные сведения о режимах сопоставления см. в разделе SubsetMatchingMode. Дополнительные сведения о создании грамматики распознавания речи, содержащей строки, см. в статье Using Strings to Create a GrammarBuilder GrammarBuilder Grammar.

См. также раздел

Применяется к

GrammarBuilder(GrammarBuilder, Int32, Int32)

Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs

Инициализирует новый экземпляр GrammarBuilder класса из повторяющегося элемента.

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)

Параметры

builder
GrammarBuilder

Повторяющийся элемент.

minRepeat
Int32

Минимальное количество раз, когда входные данные соответствуют элементу, определенному в builder соответствии с этим элементом, должны представлять собой совпадение.

maxRepeat
Int32

Максимальное количество раз, когда входные данные соответствуют элементу, определенному путем builder , могут представлять собой совпадение.

Примеры

В следующем примере создается грамматика распознавания речи для заказа пиццы. Он начинается с необязательной, открывающей фразы, за которой следует одна до четырех начинок, и закрывается словом "пицца".

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;
}

Комментарии

Если значение minRepeat равно 0, новое GrammarBuilder представляет необязательный элемент.

Значение minRepeat должно быть больше или равно 0 и меньше или равно значению maxRepeat.

Important

При указании повторов для GrammarBuilder объектов, содержащих SemanticResultValue или экземпляров, следует избегать создания повторяющихся семантических элементов с одинаковым именем ключа или SemanticResultKey несколькими семантических элементов, которые могут многократно изменять Value свойство SemanticValue объекта. Распознаватель речи может вызвать исключение, если он сталкивается с этими обстоятельствами.

См. также раздел

Применяется к

GrammarBuilder(String, Int32, Int32)

Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs

Инициализирует новый экземпляр GrammarBuilder класса из последовательности слов и String указывает, сколько раз String может повторяться.

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)

Параметры

phrase
String

Повторяемая последовательность слов.

minRepeat
Int32

Минимальное количество раз, когда входные данные совпадают с фразой, должны представлять собой совпадение.

maxRepeat
Int32

Максимальное количество раз, когда входные данные совпадают с фразой, могут представлять собой совпадение.

Примеры

В следующем примере создается грамматика распознавания речи для заказа пиццы. Он начинается с необязательной, открывающей фразы, за которой следует одна до четырех начинок, и закрывается словом "пицца".

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;
}

Комментарии

Если значение minRepeat равно 0, новое GrammarBuilder представляет необязательный элемент.

Значение minRepeat должно быть больше или равно 0 и меньше или равно значению maxRepeat. Дополнительные сведения о создании грамматики распознавания речи, содержащей строки, см. в статье Using Strings to Create a GrammarBuilder GrammarBuilder Grammar.

См. также раздел

Применяется к