Язык

SemanticResultValue Конструкторы

Определение

Инициализирует новый экземпляр класса SemanticResultValue.

Перегрузки

Имя Описание
SemanticResultValue(Object)

Инициализирует новый экземпляр SemanticResultValue класса и задает семантические значения.

SemanticResultValue(GrammarBuilder, Object)

Инициализирует новый экземпляр SemanticResultValue класса и связывает семантическое значение с GrammarBuilder объектом.

SemanticResultValue(String, Object)

Инициализирует новый экземпляр SemanticResultValue класса и связывает семантическое значение с String объектом.

Комментарии

Конструкторы поддерживают указание Object экземпляра с базовым типом boolданных , или . intfloatstringSemanticResultValue

Конструктор может создать SemanticResultValue экземпляр в любом из двух обстоятельств:

  • Экземпляр SemanticResultValue должен быть явно связан с элементом GrammarBuilder грамматики при использовании объекта Grammarдля создания.

  • Он SemanticResultValue уже связан со строковой фразой GrammarBuilder или объектом.

SemanticResultValue(Object)

Исходный код:
SemanticResultValue.cs
Исходный код:
SemanticResultValue.cs
Исходный код:
SemanticResultValue.cs
Исходный код:
SemanticResultValue.cs

Инициализирует новый экземпляр SemanticResultValue класса и задает семантические значения.

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)

Параметры

value
Object

Значение, управляемое SemanticResultValue. Должен быть типомbool, , floatintили string.

Примеры

В следующем примере возвращается функция Grammar , которая распознает команду "Set/Change/Alter Foreground/Background ... [список цветов]". SemanticResultValueи SemanticResultKey экземпляры (в сочетании с ChoicesGrammarBuilder объектами) используются для определения семантики, которую можно проанализировать при распознавании. Семантика синтаксического анализа определяет, какой цвет запрашивался, и следует ли изменять передний план или фон.

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

Комментарии

Возвращаемый SemanticResultValue этим конструктором элемент не связан с определенным элементом грамматики. Связь должна быть явно сделана с помощью экземпляра в сочетании SemanticResultValue с GrammarBuilder.

Например, в приведенном ниже фрагменте кода, если Grammar созданный с помощью этого GrammarBuilder экземпляра распознает слово "фон", значение true задается в семантике распознаваемой фразы.

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

Применяется к

SemanticResultValue(GrammarBuilder, Object)

Исходный код:
SemanticResultValue.cs
Исходный код:
SemanticResultValue.cs
Исходный код:
SemanticResultValue.cs
Исходный код:
SemanticResultValue.cs

Инициализирует новый экземпляр SemanticResultValue класса и связывает семантическое значение с 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)

Параметры

builder
GrammarBuilder

Компонент грамматики, используемый в распознавании.

value
Object

Значение, управляемое SemanticResultValue. Должен быть типомbool, , floatintили string.

Примеры

В следующем примере возвращается функция Grammar , которая распознает команду "Set/Change/Alter Foreground/Background ... [список цветов]". SemanticResultValueи SemanticResultKey экземпляры (в сочетании с ChoicesGrammarBuilder объектами) используются для определения семантики, которую можно проанализировать при распознавании. Семантика синтаксического анализа определяет, какой цвет запрашивался, и следует ли изменять передний план или фон.

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

Комментарии

Если элемент грамматики, указанный GrammarBuilder в логике распознавания, value будет задан в семантике распознаваемых выходных данных.

В приведенном ниже фрагменте кода, если логика распознавания, созданная с экземпляром GrammarBuilder () использует Choices объект (myGbmyChoice) для идентификации входных данных, значение true добавляется в распознаваемую семантику.

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

Как GrammarBuilder поддерживает неявное преобразование для Choices, SemanticResultValueи SemanticResultKey, этот конструктор также может использовать эти объекты.

Применяется к

SemanticResultValue(String, Object)

Исходный код:
SemanticResultValue.cs
Исходный код:
SemanticResultValue.cs
Исходный код:
SemanticResultValue.cs
Исходный код:
SemanticResultValue.cs

Инициализирует новый экземпляр SemanticResultValue класса и связывает семантическое значение с 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)

Параметры

phrase
String

Фраза, используемая в распознавании.

value
Object

Значение, управляемое SemanticResultValue. Должен быть типомbool, , floatintили string.

Примеры

В следующем примере возвращается функция Grammar , которая распознает команду "Set/Change/Alter Foreground/Background ... [список цветов]". SemanticResultValueи SemanticResultKey экземпляры (в сочетании с ChoicesGrammarBuilder объектами) используются для определения семантики, которую можно проанализировать при распознавании. Семантика синтаксического анализа определяет, какой цвет запрашивался, и следует ли изменять передний план или фон.

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

Комментарии

Если строка, указанная phrase в логике распознавания, value будет задана в семантике распознаваемых выходных данных.

В следующем фрагменте кода, если логика распознавания, созданная с GrammarBuilder экземпляром (myGb) использует строку "my mortgage" для идентификации входных данных, значение true будет добавлено в распознаваемую семантику.

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

Применяется к