Lenguaje

FormBuilderJson Clase

Definición

Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente.

public sealed class FormBuilderJson : Microsoft.Bot.Builder.FormFlow.FormBuilderBase<Newtonsoft.Json.Linq.JObject>
type FormBuilderJson = class
    inherit FormBuilderBase<JObject>
Public NotInheritable Class FormBuilderJson
Inherits FormBuilderBase(Of JObject)
Herencia
FormBuilderBase<Newtonsoft.Json.Linq.JObject>
FormBuilderJson

Comentarios

Define un formulario mediante esquema JSON con anotaciones adicionales opcionales que correspondan a los atributos proporcionados para C#.

%FormFlow utiliza varias palabras clave estándar de esquema JSON incluyen:

  • type -- Define el tipo de campos. * enum -- Define los posibles valores de campo. * minimum -- Define el valor mínimo permitido tal como se describe en NumericAttribute. * maximum -- Define el valor máximo permitido tal como se describe en NumericAttribute. * required -- Define qué campos son necesarios. * pattern -- Para cadenas se usarán campos para validar el patrón introducido tal como se describe en PatternAttribute.

    Las plantillas y prompts utilizan el mismo vocabulario que TemplateAttribute y PromptAttribute. Los nombres de las propiedades son los mismos y los valores son los mismos que los de la enumeración subyacente en C#. Por ejemplo, para definir una plantilla que anule la NotUnderstood plantilla y especifique un TemplateBaseAttribute.ChoiceStyle, pondrías esto en tu esquema: ~~~ "Templates":{ "NotUnderstood": { Patterns: ["I don't get it"], "ChoiceStyle":"Auto"}} ~~~

    %Extensions definido en la raíz del esquema * OnCompletion: script -- script C# con argumentos (IDialogContext contexto, estado JObject) para completar la forma. * References: [assemblyReference, ...] -- Definir referencias a incluir en los scripts. Los caminos deben ser absolutos, o relativos al directorio actual. Por defecto, Microsoft.Bot.Builder.dll está incluido. * Imports: [import, ...] -- Definir importaciones para incluir en scripts con uses. Por defecto, estos espacios de nombres están incluidos: Microsoft. Bot.Builder, Microsoft. Bot.Builder.Dialogs, Microsoft. Bot.Builder.FormFlow, Microsoft. Bot.Builder.FormFlow.Advanced, System.Collections.Generic, System.Linq

    %Extensions definido en la raíz de un esquema o como un par de la propiedad "tipo". * Templates:{TemplateUsage: { Patterns:[string, ...], &lt;args&gt; }, ...} -- Define plantillas. * Prompt: { Patterns:[string, ...] &lt;args&gt;} -- Define una indicación.

    %Extensions que se encuentran en una descripción de propiedad como pares de la propiedad "tipo" de un esquema JSON. * DateTime:bool -- Marca un campo como campo de FechaHora. * Describe:string -- Descripción de un cuerpo tal como se describe en DescribeAttribute. * Terms:[string,...] -- Expresiones regulares para emparejar un valor de campo como se describe en TermsAttribute. * MaxPhrase:int -- Esto pasará tus términos GenerateTerms(String, Int32) para ampliarlos. * Values:{ string: {Describe:string, Terms:[string, ...], MaxPhrase}, ...} -- La cadena debe encontrarse en los tipos "enum" y esto permite anular las descripciones y términos generados automáticamente. Si se especifica MaxPhrase, los términos se transmiten a GenerateTerms(String, Int32)través de . * Active:script -- script C# con argumentos (estado JObject)->bool para probar si el campo/mensaje/confirmar está activo. * Validate:script -- script C# con argumentos (estado JObject, valor del objeto)->ValidateResult para validar un valor de campo. * Define:script -- Script C# con argumentos (estado JObject,<campo JObject> de campo) para definir dinámicamente un campo. * Before:[confirm|message, ...] -- Mensajes o confirmaciones antes del campo contenedor. * After:[confirm|message, ...] -- Mensajes o confirmaciones después del campo contenedor. * {Confirm:script|[string, ...], ...templateArgs} -- Con Antes/Después define una confirmación mediante script C# con argumento (estado JObject) o mediante un conjunto de patrones que se seleccionarán aleatoriamente con argumentos plantilla opcionales. * {Message:script|[string, ...] ...templateArgs} -- Con Antes/Después define un mensaje mediante un script en C# con argumento (estado JObject) o mediante un conjunto de patrones que se seleccionarán aleatoriamente con argumentos plantilla opcionales. * Dependencies:[cuerda, ...]-- Fields that this field, message or confirm depends on.</p><p>Scripts can be any C# code you would find in a method body. You can add references through "References" and using through "Imports". Special global variables include: *choice-- internal dispatch for script to execute. *state-- JObject form state bound for all scripts. *ifield -- <xref data-throw-if-not-resolved="true" uid="Microsoft.Bot.Builder.FormFlow.Advanced.IField1"> para permitir razonamiento sobre el campo actual para todos los scripts excepto %Message/Confirmar los constructores de prompts. * value -- valor del objeto a validar para Validar. * field -- Field<T> para permitir la actualización dinámica de un campo en Define. * context -- IDialogContext Contexto para permitir la publicación de resultados en OnCompletion.

    %Fields definidos a través de esta clase tienen la misma capacidad de extender o anular las definiciones programáticamente que cualquier otro campo. También pueden localizarse de la misma manera.

Constructores

Nombre Description
FormBuilderJson(JObject)

Crea un generador de formularios en JSON.

Campos

Nombre Description
_form

Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente.

(Heredado de FormBuilderBase<T>)

Propiedades

Nombre Description
Configuration

Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente.

(Heredado de FormBuilderBase<T>)
Schema

Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente.

Métodos

Nombre Description
AddRemainingFields(IEnumerable<String>)

Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente.

Build(Assembly, String)

Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente.

Confirm(MessageDelegate<T>, ActiveDelegate<T>, IEnumerable<String>)

Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente.

(Heredado de FormBuilderBase<T>)
Confirm(PromptAttribute, ActiveDelegate<T>, IEnumerable<String>)

Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente.

(Heredado de FormBuilderBase<T>)
Confirm(String, ActiveDelegate<T>, IEnumerable<String>)

Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente.

(Heredado de FormBuilderBase<T>)
Field(IField<T>)

Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente.

(Heredado de FormBuilderBase<T>)
Field(String, ActiveDelegate<JObject>, ValidateAsyncDelegate<JObject>)

Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente.

Field(String, ActiveDelegate<T>, ValidateAsyncDelegate<T>)

Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente.

(Heredado de FormBuilderBase<T>)
Field(String, PromptAttribute, ActiveDelegate<JObject>, ValidateAsyncDelegate<JObject>)

Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente.

Field(String, PromptAttribute, ActiveDelegate<T>, ValidateAsyncDelegate<T>)

Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente.

(Heredado de FormBuilderBase<T>)
Field(String, String, ActiveDelegate<JObject>, ValidateAsyncDelegate<JObject>)

Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente.

Field(String, String, ActiveDelegate<T>, ValidateAsyncDelegate<T>)

Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente.

(Heredado de FormBuilderBase<T>)
HasField(String)

Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente.

(Heredado de FormBuilderBase<T>)
Message(MessageDelegate<T>, ActiveDelegate<T>, IEnumerable<String>)

Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente.

(Heredado de FormBuilderBase<T>)
Message(PromptAttribute, ActiveDelegate<T>, IEnumerable<String>)

Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente.

(Heredado de FormBuilderBase<T>)
Message(String, ActiveDelegate<T>, IEnumerable<String>)

Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente.

(Heredado de FormBuilderBase<T>)
OnCompletion(OnCompletionAsyncDelegate<T>)

Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente.

(Heredado de FormBuilderBase<T>)
Prompter(PromptAsyncDelegate<T>)

Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente.

(Heredado de FormBuilderBase<T>)

Se aplica a