Compartilhar via


SemanticResultValue Construtores

Definição

Inicializa uma nova instância da classe SemanticResultValue.

Sobrecargas

SemanticResultValue(Object)

Inicializa uma nova instância da classe SemanticResultValue e especifica um valor semântico.

SemanticResultValue(GrammarBuilder, Object)

Inicializa uma nova instância da classe SemanticResultValue e associa um valor semântico a um objeto GrammarBuilder.

SemanticResultValue(String, Object)

Inicializa uma nova instância da classe SemanticResultValue e associa um valor semântico a um objeto String.

Comentários

Os SemanticResultValue construtores dão suporte à especificação de uma Object instância com um tipo de dados subjacente de bool , int , float ou string .

Um construtor pode criar uma SemanticResultValue instância em uma das duas circunstâncias:

  • A SemanticResultValue instância deve ser explicitamente associada a um elemento Grammar ao usar um GrammarBuilder para construir um Grammar .

  • O SemanticResultValue já está associado a uma frase de valor de cadeia de caracteres ou a um GrammarBuilder objeto.

SemanticResultValue(Object)

Inicializa uma nova instância da classe SemanticResultValue e especifica um 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

O valor gerenciado pelo SemanticResultValue. Deve ser do tipo bool, int, float ou string.

Exemplos

O exemplo a seguir retorna um Grammar que reconhece o comando "Set/Change/ALTER primeiro plano/plano de fundo... [lista de cores] ". SemanticResultValue as SemanticResultKey instâncias e (em conjunto Choices com GrammarBuilder objetos e) são usadas para definir a semântica que pode ser analisada no reconhecimento. A semântica analisada determinará qual cor foi solicitada e se o primeiro ou segundo plano deve ser modificado.

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

Comentários

Um SemanticResultValue retornado por esse construtor não está associado a nenhum elemento de gramática específico. A associação deve se tornar explícita usando a instância do SemanticResultValue em conjunto com GrammarBuilder .

Por exemplo, no fragmento de código abaixo, se um Grammar construído usando essa GrammarBuilder instância reconhecer a palavra "background", um valor de true será definido na semântica de frase reconhecida.

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

Aplica-se a

SemanticResultValue(GrammarBuilder, Object)

Inicializa uma nova instância da classe SemanticResultValue e associa um valor semântico a um 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

Um componente de gramática a ser usado no reconhecimento.

value
Object

O valor gerenciado pelo SemanticResultValue. Deve ser do tipo bool, int, float ou string.

Exemplos

O exemplo a seguir retorna um Grammar que reconhece o comando "Set/Change/ALTER primeiro plano/plano de fundo... [lista de cores] ". SemanticResultValue as SemanticResultKey instâncias e (em conjunto Choices com GrammarBuilder objetos e) são usadas para definir a semântica que pode ser analisada no reconhecimento. A semântica analisada determinará qual cor foi solicitada e se o primeiro ou segundo plano deve ser modificado.

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

Comentários

Se o elemento Grammar especificado por GrammarBuilder for usado na lógica de reconhecimento, value será definido na semântica da saída reconhecida.

No fragmento de código abaixo, se a lógica de reconhecimento construída com a GrammarBuilder instância ( myGb ) usar o Choices objeto ( myChoice ) para identificar a entrada, o valor true será adicionado à semântica reconhecida.

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

Como o GrammarBuilder dá suporte à conversão implícita para Choices , SemanticResultValue e SemanticResultKey , esse construtor também pode usar esses objetos.

Aplica-se a

SemanticResultValue(String, Object)

Inicializa uma nova instância da classe SemanticResultValue e associa um valor semântico a um 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

Uma frase para ser usada no reconhecimento.

value
Object

O valor gerenciado pelo SemanticResultValue. Deve ser do tipo bool, int, float ou string.

Exemplos

O exemplo a seguir retorna um Grammar que reconhece o comando "Set/Change/ALTER primeiro plano/plano de fundo... [lista de cores] ". SemanticResultValue as SemanticResultKey instâncias e (em conjunto Choices com GrammarBuilder objetos e) são usadas para definir a semântica que pode ser analisada no reconhecimento. A semântica analisada determinará qual cor foi solicitada e se o primeiro ou segundo plano deve ser modificado.

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

Comentários

Se a cadeia de caracteres especificada por phrase for usada na lógica de reconhecimento, value será definida na semântica da saída reconhecida.

No fragmento de código a seguir, se a lógica de reconhecimento construída com a GrammarBuilder instância ( myGb ) usar a cadeia de caracteres "minha hipoteca" para identificar a entrada, o valor true será adicionado à semântica reconhecida.

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

Aplica-se a