SrgsRule Oluşturucular
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
SrgsRule sınıfının yeni bir örneğini başlatır.
Aşırı Yüklemeler
SrgsRule(String) |
sınıfının yeni bir örneğini SrgsRule başlatır ve kuralın tanımlayıcısını belirtir. |
SrgsRule(String, SrgsElement[]) |
Sınıfın SrgsRule yeni bir örneğini bir nesne dizisinden SrgsElement başlatır. |
SrgsRule(String)
- Kaynak:
- SrgsRule.cs
- Kaynak:
- SrgsRule.cs
- Kaynak:
- SrgsRule.cs
sınıfının yeni bir örneğini SrgsRule başlatır ve kuralın tanımlayıcısını belirtir.
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)
Parametreler
- id
- String
Kuralın tanımlayıcısı.
Özel durumlar
id
, null
değeridir.
id
boş.
id
uygun bir kural tanımlayıcısı değildir.
Örnekler
Aşağıdaki örnek, "Dünya Kupası'nı kazanan bir ülkedir" ifadesini ve ardından Dünya Kupası'nı kazanan bir ülkenin adını tanıyan bir dil bilgisi oluşturur. Örnek adlı winnerRule
bir SrgsRule nesne oluşturur ve tanımlayıcıyı WorldCupWinner
olarak Stringgeçirir. nesnesi, SrgsOneOf kural tarafından tanınması için alternatifler içeren bir dizi yeni SrgsItem nesneden oluşur.
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;
}
Açıklamalar
SrgsRule Oluşturucu özelliği başlatırId. Tanımlayıcı belirli bir dil bilgisi içinde benzersiz olmalıdır.
Oluşturucu SrgsRule aşağıdaki durumlarda bir FormatException oluşturur:
id
Genişletilebilir Biçimlendirme Dili (XML) 1.0 (Beşinci Sürüm) içinde tanımlandığı gibi geçerli bir XML adı değildir. Bu tanımı ifade etmek için geçerli bir XML adı bir harf, alt çizgi ('_') veya iki nokta üst üste (':') ile başlamalıdır ve ardından sıfır veya daha fazla NameChar karakteri (XML belirtiminde de tanımlanır) gelmelidir.id
"NULL" veya "VOID" veya "GARBAGE" şeklindedir.id
en az bir geçersiz kural kimliği karakteri içeriyor. Bu karakterler şunlardır: '?', '*', '+', '|', '(', '), '^', '$', '/', ';', '.', '=', '<', '', '>[', ']', '{', '}', '\\', ' ', '\t', '\r', ve '\n'.
Ayrıca bkz.
Şunlara uygulanır
SrgsRule(String, SrgsElement[])
- Kaynak:
- SrgsRule.cs
- Kaynak:
- SrgsRule.cs
- Kaynak:
- SrgsRule.cs
Sınıfın SrgsRule yeni bir örneğini bir nesne dizisinden SrgsElement başlatır.
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())
Parametreler
- id
- String
Kuralın tanımlayıcısı.
- elements
- SrgsElement[]
Bir öğe dizisi SrgsElement .
Özel durumlar
id
boş.
id
uygun bir kural tanımlayıcısı değildir.
Örnekler
Aşağıdaki örnek, "Dünya Kupası'nı kazanan bir ülkedir" ifadesini ve ardından Dünya Kupası'nı kazanan bir ülkenin adını tanıyan bir dil bilgisi oluşturur. Örnek adlı WorldCupWinner
bir genel kural oluşturur. Örnek daha sonra, kural tanımlayıcısı ve ruleSAmerica
nesne içeren bir dizi için bir String geçirerek ve SrgsElement olmak üzere SrgsOneOf iki SrgsRuleruleEurope
nesne oluşturur. Daha sonra, örnek kurala ruleEurope
ve ruleSAmerica
kuralından kural WorldCupWinner
başvuruları ekler.
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;
}
Oluşturulan dil bilgisi aşağıdaki biçimdedir.
<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>
Açıklamalar
SrgsRule Oluşturucu özelliği başlatırId. Tanımlayıcı belirli bir dil bilgisi içinde benzersiz olmalıdır.
Oluşturucu SrgsRule aşağıdaki durumlarda bir FormatException oluşturur:
id
Genişletilebilir Biçimlendirme Dili (XML) 1.0 (Beşinci Sürüm) içinde tanımlandığı gibi geçerli bir XML adı değildir. Bu tanımı ifade etmek için geçerli bir XML adı bir harf, alt çizgi ('_') veya iki nokta üst üste (':') ile başlamalıdır ve ardından sıfır veya daha fazla NameChar karakteri (XML belirtiminde de tanımlanır) gelmelidir.id
"NULL" veya "VOID" veya "GARBAGE" şeklindedir.id
en az bir geçersiz kural kimliği karakteri içeriyor. Bu karakterler şunlardır: '?', '*', '+', '|', '(', '), '^', '$', '/', ';', '.', '=', '<', '', '>[', ']', '{', '}', '\\', ' ', '\t', '\r', ve '\n'.