SrgsRule.Add(SrgsElement) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Добавляет SrgsElement в объект SrgsRule.
public:
void Add(System::Speech::Recognition::SrgsGrammar::SrgsElement ^ element);
public void Add (System.Speech.Recognition.SrgsGrammar.SrgsElement element);
member this.Add : System.Speech.Recognition.SrgsGrammar.SrgsElement -> unit
Public Sub Add (element As SrgsElement)
Параметры
- element
- SrgsElement
Объект, наследующий из SrgsElement и указывающий, что именно можно распознать.
Исключения
element
имеет значение null
.
Примеры
В следующем примере создается грамматика, которая распознает фразу "Нация, выиграющая Кубок мира", за которой следует название страны, выигравшей кубок мира. После создания SrgsRule объекта winnerRule
и присвоения ему идентификатора WorldCupWinner
строки в примере используется Add метод для добавления строки "Нация, выиграющая Кубок мира" к правилу. Затем в примере создаются два дополнительных правила: ruleEurope
и ruleSAmerica
. При использовании Add метода в примере к правилу WorldCupWinner
добавляется SrgsOneOf объект , содержащий ссылки на ruleEurope
правила и ruleSAmerica
.
// Create an SrgsDocument, create a new rule
// and set its scope to public.
SrgsDocument document = new SrgsDocument();
SrgsRule winnerRule = new SrgsRule("WorldCupWinner");
winnerRule.Scope = SrgsRuleScope.Public;
// Add the introduction.
winnerRule.Elements.Add(new SrgsItem("A nation that has won the world cup is: "));
// Create the rule for the European nations.
SrgsOneOf oneOfEurope = new SrgsOneOf(new SrgsItem[] {new SrgsItem("England"), new SrgsItem("France"), new SrgsItem("Germany"), new SrgsItem("Italy")});
SrgsRule ruleEurope = (new SrgsRule("EuropeanNations", new SrgsElement[] {oneOfEurope}));
// Create the rule for the South American nations.
SrgsOneOf oneOfSAmerica = new SrgsOneOf(new SrgsItem[] {new SrgsItem("Argentina"), new SrgsItem("Brazil"), new SrgsItem("Uruguay")});
SrgsRule ruleSAmerica = (new SrgsRule("SouthAmericanNations", new SrgsElement[] {oneOfSAmerica}));
// Add references to winnerRule for ruleEurope and ruleSAmerica.
winnerRule.Elements.Add(new SrgsOneOf(new SrgsItem[] {(new SrgsItem (new SrgsRuleRef(ruleEurope))), new SrgsItem(new SrgsRuleRef(ruleSAmerica))}));
// Add all the rules to the document and make winnerRule
// the root rule of the document.
document.Rules.Add(new SrgsRule[] {winnerRule, ruleEurope, ruleSAmerica});
document.Root = winnerRule;
Комментарии
Типичные дополнения к объекту SrgsRule включают SrgsItemобъекты , SrgsOneOf, SrgsRuleRefи SrgsToken , которые указывают, что говорящие могут говорить. Допустимый элемент правила должен содержать по крайней мере один фрагмент распознаваемого текста или одну ссылку на правило. Дополнительные сведения см. в разделе Создание грамматик с помощью SrgsGrammar .
Объект SrgsRule также может содержать SrgsNameValueTag объекты и SrgsSemanticInterpretationTag , которые добавляют семантические значения и семантические ключи к правилу. Подсистема распознавания речи возвращает семантическую информацию, а также распознаваемую фразу при распознавании фразы. Дополнительные сведения см. в разделе Разметка семантической интерпретации .