Freigeben über


SemanticResultValue Konstruktoren

Definition

Initialisiert eine neue Instanz der SemanticResultValue-Klasse.

Überlädt

SemanticResultValue(Object)

Initialisiert eine neue Instanz der SemanticResultValue-Klasse und gibt einen semantischen Wert an.

SemanticResultValue(GrammarBuilder, Object)

Initialisiert eine neue Instanz der SemanticResultValue-Klasse und ordnet einem GrammarBuilder-Objekt einen semantischen Wert zu.

SemanticResultValue(String, Object)

Initialisiert eine neue Instanz der SemanticResultValue-Klasse und ordnet einem String-Objekt einen semantischen Wert zu.

Hinweise

Die SemanticResultValue Konstruktoren unterstützen die Angabe einer Object Instanz mit dem zugrunde liegenden Datentyp bool , int , float oder string .

Ein Konstruktor kann eine- SemanticResultValue Instanz in einem der beiden folgenden Situationen erstellen:

  • Die- SemanticResultValue Instanz muss explizit einem Grammatik Element zugeordnet werden, wenn ein verwendet wird GrammarBuilder , um eine zu erstellen Grammar .

  • Der SemanticResultValue ist bereits einem Zeichen folgen Wertausdruck oder einem- GrammarBuilder Objekt zugeordnet.

SemanticResultValue(Object)

Initialisiert eine neue Instanz der SemanticResultValue-Klasse und gibt einen semantischen Wert an.

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)

Parameter

value
Object

Der Wert, der von SemanticResultValue gesteuert wird. Der Wert muss vom Typ bool, int, float oder string sein.

Beispiele

Im folgenden Beispiel wird ein-Wert zurückgegeben Grammar , der den Befehl "Set/Change/Alter Vordergrund/Hintergrund... [Farbliste] ". SemanticResultValue -und- SemanticResultKey Instanzen (in Verbindung mit Choices -und- GrammarBuilder Objekten) werden verwendet, um Semantik zu definieren, die bei der Erkennung analysiert werden kann. Die analysierte Semantik bestimmt, welche Farbe angefordert wurde und ob der Vordergrund oder der Hintergrund geändert werden muss.

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

Hinweise

Ein, SemanticResultValue der von diesem Konstruktor zurückgegeben wird, ist keinem bestimmten Grammatik Element zugeordnet. Die Zuordnung muss explizit erfolgen, indem die Instanz von SemanticResultValue in Verbindung mit verwendet wird GrammarBuilder .

Beispielsweise wird im folgenden Code Fragment, wenn ein, das Grammar mit dieser Instanz erstellt wurde, GrammarBuilder das Wort "Background" erkennt, der Wert true in der erkannten Ausdrucks Semantik festgelegt wird.

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

Gilt für

SemanticResultValue(GrammarBuilder, Object)

Initialisiert eine neue Instanz der SemanticResultValue-Klasse und ordnet einem GrammarBuilder-Objekt einen semantischen Wert zu.

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)

Parameter

builder
GrammarBuilder

Eine in der Erkennung verwendete Grammatikkomponente.

value
Object

Der Wert, der von SemanticResultValue gesteuert wird. Der Wert muss vom Typ bool, int, float oder string sein.

Beispiele

Im folgenden Beispiel wird ein-Wert zurückgegeben Grammar , der den Befehl "Set/Change/Alter Vordergrund/Hintergrund... [Farbliste] ". SemanticResultValue -und- SemanticResultKey Instanzen (in Verbindung mit Choices -und- GrammarBuilder Objekten) werden verwendet, um Semantik zu definieren, die bei der Erkennung analysiert werden kann. Die analysierte Semantik bestimmt, welche Farbe angefordert wurde und ob der Vordergrund oder der Hintergrund geändert werden muss.

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

Hinweise

Wenn das von angegebene Grammatik Element GrammarBuilder in der Erkennungs Logik verwendet wird, value wird in der Semantik der erkannten Ausgabe festgelegt.

Wenn im folgenden Code Fragment die Erkennungs Logik, die mit der- GrammarBuilder Instanz ( myGb ) erstellt wurde, das- Choices Objekt ( myChoice ) zum Identifizieren der Eingabe verwendet, wird der Wert der true erkannten Semantik hinzugefügt.

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

Da GrammarBuilder die implizite Konvertierung für Choices , SemanticResultValue und unterstützt SemanticResultKey , kann dieser Konstruktor auch diese Objekte verwenden.

Gilt für

SemanticResultValue(String, Object)

Initialisiert eine neue Instanz der SemanticResultValue-Klasse und ordnet einem String-Objekt einen semantischen Wert zu.

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)

Parameter

phrase
String

Ein Ausdruck, der in der Erkennung verwendetet werden soll.

value
Object

Der Wert, der von SemanticResultValue gesteuert wird. Der Wert muss vom Typ bool, int, float oder string sein.

Beispiele

Im folgenden Beispiel wird ein-Wert zurückgegeben Grammar , der den Befehl "Set/Change/Alter Vordergrund/Hintergrund... [Farbliste] ". SemanticResultValue -und- SemanticResultKey Instanzen (in Verbindung mit Choices -und- GrammarBuilder Objekten) werden verwendet, um Semantik zu definieren, die bei der Erkennung analysiert werden kann. Die analysierte Semantik bestimmt, welche Farbe angefordert wurde und ob der Vordergrund oder der Hintergrund geändert werden muss.

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

Hinweise

Wenn die von angegebene Zeichenfolge phrase in der Erkennungs Logik verwendet wird, value wird in der Semantik der erkannten Ausgabe festgelegt.

Im folgenden Code Fragment wird der Wert der erkannten Semantik hinzugefügt, wenn die Erkennungs Logik, die mit der- GrammarBuilder Instanz ( myGb ) erstellt wurde, die Zeichenfolge "My Hypotheken" verwendet, um die Eingabe zu identifizieren true .

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

Gilt für