Idioma

FormBuilderJson Classe

Definição

Construa um formulário especificando mensagens, campos e confirmações via Esquema JSON ou programaticamente.

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)
Herança
FormBuilderBase<Newtonsoft.Json.Linq.JObject>
FormBuilderJson

Comentários

Defina um formulário via Esquema JSON com anotações adicionais opcionais que correspondam aos atributos fornecidos para C#.

%FormFlow utiliza várias palavras-chave padrão do Esquema JSON incluem:

  • type -- Define o tipo de campo. * enum -- Define os possíveis valores de campo. * minimum -- Define o valor mínimo permitido conforme descrito em NumericAttribute. * maximum -- Define o valor máximo permitido conforme descrito em NumericAttribute. * required -- Define quais campos são necessários. * pattern -- Para cordas, campos serão usados para validar o padrão inserido conforme descrito em PatternAttribute.

    Modelos e prompts usam o mesmo vocabulário que TemplateAttribute e PromptAttribute. Os nomes das propriedades são os mesmos e os valores são os mesmos da enumeração subjacente em C#. Por exemplo, para definir um template para sobrescrever o NotUnderstood template e especificar um TemplateBaseAttribute.ChoiceStyle, você colocaria isso no seu esquema: ~~~ "Templates":{ "NotUnderstood": { Patterns: ["I don't get it"], "ChoiceStyle":"Auto"}} ~~~

    %Extensions definido na raiz do esquema * OnCompletion: script -- script C# com argumentos (IDialogContext contexto, estado JObject) para completar o formulário. * References: [assemblyReference, ...] -- Defina referências a serem incluídas em scripts. Os caminhos devem ser absolutos, ou relativos ao diretório atual. Por padrão, Microsoft.Bot.Builder.dll está incluído. * Imports: [import, ...] -- Defina importações para incluir em scripts com uses. Por padrão, esses namespaces estão incluídos: Microsoft. Bot.Builder, Microsoft. Bot.Builder.Dialogs, Microsoft. Bot.Builder.FormFlow, Microsoft. Bot.Builder.FormFlow.Advanced, System.Collections.Generic, System.Linq

    %Extensions definido na raiz de um esquema ou como um par da propriedade "tipo". * Templates:{TemplateUsage: { Patterns:[string, ...], &lt;args&gt; }, ...} -- Defina modelos. * Prompt: { Patterns:[string, ...] &lt;args&gt;} -- Defina um prompt.

    %Extensions que são encontrados em uma descrição de propriedade como pares da propriedade "tipo" de um Esquema JSON. * DateTime:bool -- Marca um campo como sendo um campo de DataHora. * Describe:string -- Descrição de um corpo conforme descrito em DescribeAttribute. * Terms:[string,...] -- Expressões regulares para corresponder um valor de campo conforme descrito em TermsAttribute. * MaxPhrase:int -- Isso vai fazer seus termos GenerateTerms(String, Int32) para expandi-los. * Values:{ string: {Describe:string, Terms:[string, ...], MaxPhrase}, ...} -- A string deve ser encontrada nos tipos "enum" e isso permite que você substitua as descrições e termos gerados automaticamente. Se MaxPhrase for especificado, os termos são passados por GenerateTerms(String, Int32). * Active:script -- script C# com argumentos (estado JObject)->bool para testar se campo/mensagem/confirmação está ativo. * Validate:script -- script C# com argumentos (estado JObject, valor do objeto)->ValidateResult para validar um valor de campo. * Define:script -- script C# com argumentos (estado JObject,<campo JObject> de campo) para definir dinamicamente um corpo. * Before:[confirm|message, ...] -- Mensagens ou confirmações antes do campo de contenção. * After:[confirm|message, ...] -- Mensagens ou confirmações após o campo de contenção. * {Confirm:script|[string, ...], ...templateArgs} -- Com Antes/Depois defina uma confirmação por meio de script C# com argumento (estado JObject) ou por um conjunto de padrões que serão selecionados aleatoriamente com argumentos opcionais de template. * {Message:script|[string, ...] ...templateArgs} -- Com Antes/Depois, defina uma mensagem por meio de script C# com argumento (estado JObject) ou por um conjunto de padrões que serão selecionados aleatoriamente com argumentos opcionais de template. * Dependencies:[corda, ...]-- 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 raciocínio sobre o campo atual para todos os scripts, exceto %Message/Confirmar os construtores de prompts. * value -- valor do objeto a ser validado para Validar. * field -- Field<T> para permitir a atualização dinâmica de um campo no Define. * context -- IDialogContext contexto para permitir que os resultados postem no OnCompletion.

    %Fields definidos por essa classe têm a mesma capacidade de estender ou sobrescrever as definições programaticamente que qualquer outro campo. Eles também podem ser localizados da mesma forma.

Construtores

Nome Description
FormBuilderJson(JObject)

Crie um construtor de formulários em JSON.

Campos

Nome Description
_form

Construa um formulário especificando mensagens, campos e confirmações via Esquema JSON ou programaticamente.

(Herdado de FormBuilderBase<T>)

Propriedades

Nome Description
Configuration

Construa um formulário especificando mensagens, campos e confirmações via Esquema JSON ou programaticamente.

(Herdado de FormBuilderBase<T>)
Schema

Construa um formulário especificando mensagens, campos e confirmações via Esquema JSON ou programaticamente.

Métodos

Nome Description
AddRemainingFields(IEnumerable<String>)

Construa um formulário especificando mensagens, campos e confirmações via Esquema JSON ou programaticamente.

Build(Assembly, String)

Construa um formulário especificando mensagens, campos e confirmações via Esquema JSON ou programaticamente.

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

Construa um formulário especificando mensagens, campos e confirmações via Esquema JSON ou programaticamente.

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

Construa um formulário especificando mensagens, campos e confirmações via Esquema JSON ou programaticamente.

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

Construa um formulário especificando mensagens, campos e confirmações via Esquema JSON ou programaticamente.

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

Construa um formulário especificando mensagens, campos e confirmações via Esquema JSON ou programaticamente.

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

Construa um formulário especificando mensagens, campos e confirmações via Esquema JSON ou programaticamente.

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

Construa um formulário especificando mensagens, campos e confirmações via Esquema JSON ou programaticamente.

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

Construa um formulário especificando mensagens, campos e confirmações via Esquema JSON ou programaticamente.

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

Construa um formulário especificando mensagens, campos e confirmações via Esquema JSON ou programaticamente.

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

Construa um formulário especificando mensagens, campos e confirmações via Esquema JSON ou programaticamente.

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

Construa um formulário especificando mensagens, campos e confirmações via Esquema JSON ou programaticamente.

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

Construa um formulário especificando mensagens, campos e confirmações via Esquema JSON ou programaticamente.

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

Construa um formulário especificando mensagens, campos e confirmações via Esquema JSON ou programaticamente.

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

Construa um formulário especificando mensagens, campos e confirmações via Esquema JSON ou programaticamente.

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

Construa um formulário especificando mensagens, campos e confirmações via Esquema JSON ou programaticamente.

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

Construa um formulário especificando mensagens, campos e confirmações via Esquema JSON ou programaticamente.

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

Construa um formulário especificando mensagens, campos e confirmações via Esquema JSON ou programaticamente.

(Herdado de FormBuilderBase<T>)

Aplica-se a