SrgsRule Konstruktory
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Inicializuje novou instanci SrgsRule třídy.
Přetížení
SrgsRule(String) |
Inicializuje novou instanci SrgsRule třídy a určuje identifikátor pravidla. |
SrgsRule(String, SrgsElement[]) |
Inicializuje novou instanci SrgsRule třídy z pole SrgsElement objektů. |
SrgsRule(String)
- Zdroj:
- SrgsRule.cs
- Zdroj:
- SrgsRule.cs
- Zdroj:
- SrgsRule.cs
Inicializuje novou instanci SrgsRule třídy a určuje identifikátor pravidla.
public:
SrgsRule(System::String ^ id);
public SrgsRule (string id);
new System.Speech.Recognition.SrgsGrammar.SrgsRule : string -> System.Speech.Recognition.SrgsGrammar.SrgsRule
Public Sub New (id As String)
Parametry
- id
- String
Identifikátor pravidla.
Výjimky
id
je null
.
id
je prázdný.
id
není správný identifikátor pravidla.
Příklady
Následující příklad vytvoří gramatiku, která rozpozná frázi "A nation that has has won the World Cup is" následovaný názvem země, která vyhrála mistrovství světa. Příklad vytvoří SrgsRule objekt s názvem winnerRule
a předá identifikátor WorldCupWinner
jako String. Objekt se SrgsOneOf skládá z pole nových SrgsItem objektů obsahujících alternativy, které mají být rozpoznány pravidlem.
public void WorldSoccerWinners ()
{
// 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;
}
Poznámky
Konstruktor SrgsRule inicializuje Id vlastnost. Identifikátor musí být jedinečný v rámci dané gramatiky.
Konstruktor SrgsRule vyvolá chybu FormatException v následujících případech:
id
není platný název XML, jak je definováno v jazyce XML (Extensible Markup Language) 1.0 (pátá edice). Aby bylo možné tuto definici parafrázovat, musí platný název XML začínat písmenem, podtržítkem ('_') nebo dvojtečka (':') a za ním může následovat nula nebo více znaků NameChar (také definovaných ve specifikaci XML).id
je "NULL" nebo "VOID" nebo "GARBAGE".id
obsahuje alespoň jeden neplatný znak ID pravidla. Tyto znaky jsou: '?', '*', '+', '|', '(', '), '^', '$', '/', ';', '.', '=', '<',> '', '[', '], '{', '}', '\\', ' ', '\t', '\r' a '\n'.
Viz také
Platí pro
SrgsRule(String, SrgsElement[])
- Zdroj:
- SrgsRule.cs
- Zdroj:
- SrgsRule.cs
- Zdroj:
- SrgsRule.cs
Inicializuje novou instanci SrgsRule třídy z pole SrgsElement objektů.
public:
SrgsRule(System::String ^ id, ... cli::array <System::Speech::Recognition::SrgsGrammar::SrgsElement ^> ^ elements);
public SrgsRule (string id, params System.Speech.Recognition.SrgsGrammar.SrgsElement[] elements);
new System.Speech.Recognition.SrgsGrammar.SrgsRule : string * System.Speech.Recognition.SrgsGrammar.SrgsElement[] -> System.Speech.Recognition.SrgsGrammar.SrgsRule
Public Sub New (id As String, ParamArray elements As SrgsElement())
Parametry
- id
- String
Identifikátor pravidla.
- elements
- SrgsElement[]
Pole SrgsElement prvků.
Výjimky
id
je prázdný.
id
není správný identifikátor pravidla.
Příklady
Následující příklad vytvoří gramatiku, která rozpozná frázi "A nation that has has won the World Cup is" následovaný názvem země, která vyhrála mistrovství světa. Příklad vytvoří veřejné pravidlo s názvem WorldCupWinner
. Příklad pak vytvoří dva SrgsRule objekty ruleEurope
a , ruleSAmerica
předávající String identifikátor pravidla a SrgsElement pole obsahující SrgsOneOf objekt. Následně příklad přidá odkazy na pravidlo do ruleEurope
a ruleSAmerica
z pravidla WorldCupWinner
.
public void WorldSoccerWinners ()
{
// Create a grammar from an SRGSDocument, create a new rule
// and set its scope to public.
SrgsDocument srgsGrammar = 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 grammar and make winnerRule
// the root rule of the grammar.
document.Rules.Add(new SrgsRule[] {winnerRule, ruleEurope, ruleSAmerica});
srgsGrammar.Root = winnerRule;
}
Vytvořená gramatika má následující formulář.
<grammar version="1.0" xml:lang="en-US" xmlns="http://www.w3.org/2001/06/grammar" root="WorldCupWinner">
<rule id="WorldCupWinner" scope="public">
<item> A nation that has won the world cup is </item>
<one-of>
<item>
<ruleref uri="#EuropeanNations" />
</item>
<item>
<ruleref uri="#SouthAmericanNations" />
</item>
</one-of>
</rule>
<rule id="EuropeanNations">
<one-of>
<item> England </item>
<item> France </item>
<item> Germany </item>
<item> Italy </item>
</one-of>
</rule>
<rule id="SouthAmericanNations">
<one-of>
<item> Argentina </item>
<item> Brazil </item>
<item> Uruguay </item>
</one-of>
</rule>
</grammar>
Poznámky
Konstruktor SrgsRule inicializuje Id vlastnost. Identifikátor musí být jedinečný v rámci dané gramatiky.
Konstruktor SrgsRule vyvolá chybu FormatException v následujících případech:
id
není platný název XML, jak je definováno v jazyce XML (Extensible Markup Language) 1.0 (pátá edice). Aby bylo možné tuto definici parafrázovat, musí platný název XML začínat písmenem, podtržítkem ('_') nebo dvojtečka (':') a za ním může následovat nula nebo více znaků NameChar (také definovaných ve specifikaci XML).id
je "NULL" nebo "VOID" nebo "GARBAGE".id
obsahuje alespoň jeden neplatný znak ID pravidla. Tyto znaky jsou: '?', '*', '+', '|', '(', '), '^', '$', '/', ';', '.', '=', '<',> '', '[', '], '{', '}', '\\', ' ', '\t', '\r' a '\n'.