Compartir a través de


SemanticResultValue Constructores

Definición

Inicializa una nueva instancia de la clase SemanticResultValue.

Sobrecargas

SemanticResultValue(Object)

Inicializa una nueva instancia de la clase SemanticResultValue y especifica un valor semántico.

SemanticResultValue(GrammarBuilder, Object)

Inicializa una nueva instancia de la clase SemanticResultValue y asocia un valor semántico con un objeto GrammarBuilder.

SemanticResultValue(String, Object)

Inicializa una nueva instancia de la clase SemanticResultValue y asocia un valor semántico con un objeto String.

Comentarios

Los SemanticResultValue constructores admiten la especificación Object de una instancia de con un tipo de datos subyacente de bool , int , float o string .

Un constructor puede crear una SemanticResultValue instancia en cualquiera de estas dos circunstancias:

  • La SemanticResultValue instancia de se debe asociar explícitamente a un elemento de gramática al utilizar GrammarBuilder para construir un Grammar .

  • SemanticResultValueYa está asociado a una frase de valor de cadena o a un GrammarBuilder objeto.

SemanticResultValue(Object)

Inicializa una nueva instancia de la clase SemanticResultValue y especifica un valor semántico.

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)

Parámetros

value
Object

El valor que administra SemanticResultValue. Debe ser del tipo bool, int, float o string.

Ejemplos

En el ejemplo siguiente se devuelve un Grammar que reconoce el comando "Set/Change/Alter Foreground/background... [lista de colores] ". SemanticResultValueSemanticResultKeylas instancias de y (junto con los Choices GrammarBuilder objetos y) se usan para definir la semántica que se puede analizar en el reconocimiento. La semántica analizada determinará qué color se solicitó y si se va a modificar el primer plano o el fondo.

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

Comentarios

Un objeto SemanticResultValue devuelto por este constructor no está asociado a ningún elemento de gramática determinado. La asociación se debe hacer explícita mediante la instancia de SemanticResultValue junto con GrammarBuilder .

Por ejemplo, en el fragmento de código siguiente, si un Grammar construido con esta GrammarBuilder instancia reconoce la palabra "background", el valor true se establece en la semántica de la frase reconocida.

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

Se aplica a

SemanticResultValue(GrammarBuilder, Object)

Inicializa una nueva instancia de la clase SemanticResultValue y asocia un valor semántico con un objeto GrammarBuilder.

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)

Parámetros

builder
GrammarBuilder

Un componente de la gramática que se usará en el reconocimiento.

value
Object

El valor que administra SemanticResultValue. Debe ser del tipo bool, int, float o string.

Ejemplos

En el ejemplo siguiente se devuelve un Grammar que reconoce el comando "Set/Change/Alter Foreground/background... [lista de colores] ". SemanticResultValueSemanticResultKeylas instancias de y (junto con los Choices GrammarBuilder objetos y) se usan para definir la semántica que se puede analizar en el reconocimiento. La semántica analizada determinará qué color se solicitó y si se va a modificar el primer plano o el fondo.

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

Comentarios

Si el elemento de gramática especificado por GrammarBuilder se usa en la lógica de reconocimiento, se value establecerá en la semántica de la salida reconocida.

En el fragmento de código siguiente, si la lógica de reconocimiento construida con la GrammarBuilder instancia ( myGb ) utiliza el Choices objeto ( myChoice ) para identificar la entrada, el valor true se agrega a la semántica reconocida.

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

Como GrammarBuilder admite la conversión implícita para Choices , SemanticResultValue y SemanticResultKey , este constructor también puede usar esos objetos.

Se aplica a

SemanticResultValue(String, Object)

Inicializa una nueva instancia de la clase SemanticResultValue y asocia un valor semántico con un objeto String.

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)

Parámetros

phrase
String

Una frase que se usará en el reconocimiento.

value
Object

El valor que administra SemanticResultValue. Debe ser del tipo bool, int, float o string.

Ejemplos

En el ejemplo siguiente se devuelve un Grammar que reconoce el comando "Set/Change/Alter Foreground/background... [lista de colores] ". SemanticResultValueSemanticResultKeylas instancias de y (junto con los Choices GrammarBuilder objetos y) se usan para definir la semántica que se puede analizar en el reconocimiento. La semántica analizada determinará qué color se solicitó y si se va a modificar el primer plano o el fondo.

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

Comentarios

Si la cadena especificada por phrase se usa en la lógica de reconocimiento, se value establecerá en la semántica de la salida reconocida.

En el fragmento de código siguiente, si la lógica de reconocimiento construida con la GrammarBuilder instancia ( myGb ) utiliza la cadena "My hipoteca" para identificar la entrada, el valor se true agregará a la semántica reconocida.

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

Se aplica a