Sdílet prostřednictvím


SemanticResultValue Konstruktory

Definice

Inicializuje novou instanci SemanticResultValue třídy.

Přetížení

SemanticResultValue(Object)

Inicializuje novou instanci SemanticResultValue třídy a určí sémantickou hodnotu.

SemanticResultValue(GrammarBuilder, Object)

Inicializuje novou instanci SemanticResultValue třídy a přidruží sémantickou hodnotu GrammarBuilder objektu.

SemanticResultValue(String, Object)

Inicializuje novou instanci SemanticResultValue třídy a přidruží sémantickou hodnotu String objektu.

Poznámky

SemanticResultValueKonstruktory podporují určení Object instance s podkladovým datovým typem bool , int , float nebo string .

Konstruktor může vytvořit SemanticResultValue instanci v obou případech:

  • SemanticResultValueInstance musí být explicitně přidružena k elementu gramatiky při použití GrammarBuilder k sestavení a Grammar .

  • SemanticResultValueJe již přidružena k řetězcové hodnotě řetězce nebo GrammarBuilder objektu.

SemanticResultValue(Object)

Inicializuje novou instanci SemanticResultValue třídy a určí sémantickou hodnotu.

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

Parametry

value
Object

Hodnota, kterou spravuje SemanticResultValue . Musí být typu bool ,, int float nebo string .

Příklady

Následující příklad vrátí hodnotu Grammar , která rozpozná příkaz "nastavit/změnit/změnit popředí/pozadí... [seznam barev] ". SemanticResultValue a SemanticResultKey instance (ve spojení s Choices GrammarBuilder objekty a) slouží k definování sémantiky, které lze analyzovat při rozpoznávání. Analyzovaná sémantika určuje, která barva byla požadována a zda má být upravena popředí nebo pozadí.

private Grammar FgBgColorGrammar()   
{  
  Grammar grammar = null;  

  // Allow the command to begin with set, alter, change.  
  Choices introChoices = new Choices();  
  foreach (string introString in new string[] { "Change", "Set", "Alter" })   
  {  
    GrammarBuilder introGB = new GrammarBuilder(introString);  
    introChoices.Add(  
                  new SemanticResultValue(introGB,  
                  String.Format("Command: {0}", introString)));  
  }           

  GrammarBuilder cmdIntro = new GrammarBuilder(introChoices);  

  // Define the arguments for the command to select foreground or background   
  // and to change their color as semantic values.  
  Choices fgOrbgChoice = new Choices();  
  GrammarBuilder backgroundGB=new GrammarBuilder("background");  
  backgroundGB.Append(new SemanticResultValue(true));  
  fgOrbgChoice.Add(backgroundGB);  
  fgOrbgChoice.Add((GrammarBuilder)new SemanticResultValue("foreground", false));  
  SemanticResultKey fgOrbgChoiceKey = new SemanticResultKey("BgOrFgBool", fgOrbgChoice);  
  Choices colorChoice = new Choices();  
  foreach (string colorName in System.Enum.GetNames(typeof(KnownColor)))   
  {  

    // Use implicit conversion of SemanticResultValue to GrammarBuilder.      
    colorChoice.Add(  
                 (GrammarBuilder) (new SemanticResultValue(colorName, (Color.FromName(colorName)).Name)));  
  }  

  // Create a GrammarBuilder for CmdArgs to be appended to CmdIntro using  
  // semantic keys.  
  GrammarBuilder cmdArgs = new GrammarBuilder();  
  cmdArgs.Append(new SemanticResultKey("BgOrFgBool", fgOrbgChoice));  
  cmdArgs.AppendWildcard();  
  cmdArgs.Append(new SemanticResultKey("colorStringList", colorChoice));  

  GrammarBuilder cmds =   
      GrammarBuilder.Add(  
        cmdIntro,   
        new GrammarBuilder(new SemanticResultKey("Cmd Args", cmdArgs)));  
  grammar = new Grammar(cmds);  
  grammar.Name = "Tree [Set,change,alter] [foreground,background] * color";  
  return grammar;  
}  

Poznámky

SemanticResultValueVrácený tento konstruktor není přidružen k žádnému konkrétnímu elementu gramatiky. Přidružení je nutné provést explicitně pomocí instance SemanticResultValue ve spojení s GrammarBuilder .

Například v následujícím fragmentu kódu, pokud Grammar konstrukce vytvořená pomocí této GrammarBuilder instance rozpozná slovo "Background", hodnota true je nastavena v sémantikě rozpoznané fráze.

GrammarBuilder backgroundGB=new GrammarBuilder("background");  
backgroundGB.Append(new SemanticResultValue(true));  

Platí pro

SemanticResultValue(GrammarBuilder, Object)

Inicializuje novou instanci SemanticResultValue třídy a přidruží sémantickou hodnotu GrammarBuilder objektu.

public:
 SemanticResultValue(System::Speech::Recognition::GrammarBuilder ^ builder, System::Object ^ value);
public SemanticResultValue (System.Speech.Recognition.GrammarBuilder builder, object value);
new System.Speech.Recognition.SemanticResultValue : System.Speech.Recognition.GrammarBuilder * obj -> System.Speech.Recognition.SemanticResultValue
Public Sub New (builder As GrammarBuilder, value As Object)

Parametry

builder
GrammarBuilder

Gramatická součást, která se má použít při rozpoznávání.

value
Object

Hodnota, kterou spravuje SemanticResultValue . Musí být typu bool ,, int float nebo string .

Příklady

Následující příklad vrátí hodnotu Grammar , která rozpozná příkaz "nastavit/změnit/změnit popředí/pozadí... [seznam barev] ". SemanticResultValue a SemanticResultKey instance (ve spojení s Choices GrammarBuilder objekty a) slouží k definování sémantiky, které lze analyzovat při rozpoznávání. Analyzovaná sémantika určuje, která barva byla požadována a zda má být upravena popředí nebo pozadí.

private Grammar FgBgColorGrammar()   
{  
  Grammar grammar = null;  

  // Allow the command to begin with set, alter, change.  
  Choices introChoices = new Choices();  
  foreach (string introString in new string[] { "Change", "Set", "Alter" })   
  {  
    GrammarBuilder introGB = new GrammarBuilder(introString);  
    introChoices.Add(  
                  new SemanticResultValue(introGB,  
                  String.Format("Command: {0}", introString)));  
  }           
  GrammarBuilder cmdIntro = new GrammarBuilder(introChoices);  

  // Define the arguments for the command to select foreground or background   
  // and to change their color as semantic values.  
  Choices fgOrbgChoice = new Choices();  
  GrammarBuilder backgroundGB=new GrammarBuilder("background");  
  backgroundGB.Append(new SemanticResultValue(true));  
  fgOrbgChoice.Add(backgroundGB);  
  fgOrbgChoice.Add((GrammarBuilder)new SemanticResultValue("foreground", false));  
  SemanticResultKey fgOrbgChoiceKey = new SemanticResultKey("BgOrFgBool", fgOrbgChoice);  
  Choices colorChoice = new Choices();  
  foreach (string colorName in System.Enum.GetNames(typeof(KnownColor)))   
  {  

    // Use implicit conversion of SemanticResultValue to GrammarBuilder.      
    colorChoice.Add(  
              (GrammarBuilder) (new SemanticResultValue(colorName, (Color.FromName(colorName)).Name)));  
    }  

  // Create a GrammarBuilder for CmdArgs to be appended to CmdIntro using  
  // semantic keys.  
  GrammarBuilder cmdArgs = new GrammarBuilder();  
  cmdArgs.Append(new SemanticResultKey("BgOrFgBool", fgOrbgChoice));  
  cmdArgs.AppendWildcard();  
  cmdArgs.Append(new SemanticResultKey("colorStringList", colorChoice));  

  GrammarBuilder cmds =   
      GrammarBuilder.Add(  
                      cmdIntro,  
                      new GrammarBuilder(new SemanticResultKey("Cmd Args", cmdArgs)));  
  grammar = new Grammar(cmds);  
  grammar.Name = "Tree [Set,change,alter] [foreground,background] * color";  
  return grammar;  
}  

Poznámky

Pokud GrammarBuilder je v logice rozpoznávání použit prvek gramatiky, value bude nastaven v sémantikě rozpoznaného výstupu.

V níže uvedeném fragmentu kódu, pokud logika rozpoznávání vytvořená s GrammarBuilder instancí ( myGb ) používá Choices objekt ( myChoice ) k identifikaci vstupu, true je hodnota přidána do rozpoznané sémantiky.

myGb.Append(new SemanticResultValue(myChoice, true);  

Jak GrammarBuilder podporuje implicitní převod pro Choices , SemanticResultValue a SemanticResultKey , tento konstruktor může použít i tyto objekty.

Platí pro

SemanticResultValue(String, Object)

Inicializuje novou instanci SemanticResultValue třídy a přidruží sémantickou hodnotu String objektu.

public:
 SemanticResultValue(System::String ^ phrase, System::Object ^ value);
public SemanticResultValue (string phrase, object value);
new System.Speech.Recognition.SemanticResultValue : string * obj -> System.Speech.Recognition.SemanticResultValue
Public Sub New (phrase As String, value As Object)

Parametry

phrase
String

Fráze, která se má použít při rozpoznávání.

value
Object

Hodnota, kterou spravuje SemanticResultValue . Musí být typu bool ,, int float nebo string .

Příklady

Následující příklad vrátí hodnotu Grammar , která rozpozná příkaz "nastavit/změnit/změnit popředí/pozadí... [seznam barev] ". SemanticResultValue a SemanticResultKey instance (ve spojení s Choices GrammarBuilder objekty a) slouží k definování sémantiky, které lze analyzovat při rozpoznávání. Analyzovaná sémantika určuje, která barva byla požadována a zda má být upravena popředí nebo pozadí.

private Grammar FgBgColorGrammar()   
{  
  Grammar grammar = null;  

  // Allow command to begin with set, alter, change.  
  Choices introChoices = new Choices();  
  foreach (string introString in new string[] { "Change", "Set", "Alter" })   
  {  
    GrammarBuilder introGB = new GrammarBuilder(introString);  
    introChoices.Add(  
                  new SemanticResultValue(introGB,  
                  String.Format("Command: {0}", introString)));  
  }  

  GrammarBuilder cmdIntro = new GrammarBuilder(introChoices);  

  // Define the arguments for the command to select foreground or background   
  // and to change their color as semantic values.  
  Choices fgOrbgChoice = new Choices();  
  GrammarBuilder backgroundGB=new GrammarBuilder("background");  
  backgroundGB.Append(new SemanticResultValue(true));  
  fgOrbgChoice.Add(backgroundGB);  
  fgOrbgChoice.Add((GrammarBuilder)new SemanticResultValue("foreground", false));  
  SemanticResultKey fgOrbgChoiceKey = new SemanticResultKey("BgOrFgBool", fgOrbgChoice);  
  Choices colorChoice = new Choices();  
  foreach (string colorName in System.Enum.GetNames(typeof(KnownColor)))   
  {  

    // Use implicit conversion of SemanticResultValue to GrammarBuilder.      
    colorChoice.Add(  
          (GrammarBuilder) (new SemanticResultValue(colorName, (Color.FromName(colorName)).Name)));  
  }  

  // Create a GrammarBuilder for CmdArgs to be appended to CmdIntro using  
  // semantic keys.  
  GrammarBuilder cmdArgs = new GrammarBuilder();  
  cmdArgs.Append(new SemanticResultKey("BgOrFgBool", fgOrbgChoice));  
  cmdArgs.AppendWildcard();  
  cmdArgs.Append(new SemanticResultKey("colorStringList", colorChoice));  

  GrammarBuilder cmds =   
      GrammarBuilder.Add(cmdIntro,  
                         new GrammarBuilder(new SemanticResultKey("Cmd Args", cmdArgs)));  
  grammar = new Grammar(cmds);  
  grammar.Name = "Tree [Set,change,alter] [foreground,background] * color";  
  return grammar;  
}  

Poznámky

Pokud je řetězec určený parametrem phrase použit v logice rozpoznávání, value bude nastaven v sémantikě rozpoznaného výstupu.

V následujícím fragmentu kódu, pokud logika rozpoznávání vytvořená s GrammarBuilder instancí ( myGb ) používá řetězec "moje hypotéka" k identifikaci vstupu, hodnota true bude přidána do rozpoznané sémantiky.

myGb.Append(new SemanticResultValue("my mortgage", true);  

Platí pro