Idioma

FormBuilderJson Classe

Definição

Construa um formulário especificando mensagens, campos e confirmações através de Esquema JSON ou 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)
Herança
FormBuilderBase<Newtonsoft.Json.Linq.JObject>
FormBuilderJson

Observações

Defina um formulário através do 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 valores possíveis dos campos. * minimum -- Define o valor mínimo permitido conforme descrito em NumericAttribute. * maximum -- Define o valor máximo permitido conforme descrito em NumericAttribute. * required -- Define que campos são necessários. * pattern -- Para cordas, os campos serão usados para validar o padrão introduzido 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 modelo que sobrepõe o NotUnderstood modelo e especificar um TemplateBaseAttribute.ChoiceStyle, colocaria isto 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, ...] -- Definir referências a incluir nos scripts. Os caminhos devem ser absolutos, ou relativos ao diretório atual. Por defeito, Microsoft.Bot.Builder.dll está incluído. * Imports: [import, ...] -- Definir importações para incluir em scripts com uses. Por defeito, estes namespaces estão incluídos: Microsoft. Bot.Builder, Microsoft. Bot.Builder.Dialogues, 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; }, ...} -- Define modelos. * Prompt: { Patterns:[string, ...] &lt;args&gt;} -- Define um prompt.

    %Extensions que se encontram numa 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 -- Isto vai analisar os seus termos GenerateTerms(String, Int32) para os expandir. * Values:{ string: {Describe:string, Terms:[string, ...], MaxPhrase}, ...} -- A cadeia deve ser encontrada nos tipos "enum" e isso permite sobrepor as descrições e termos gerados automaticamente. Se o MaxPhrase for especificado, os termos passam por GenerateTerms(String, Int32). * Active:script -- script C# com argumentos (estado JObject)->bool para testar se o campo/mensagem/confirmar 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 define uma confirmação através de script C# com argumento (estado JObject) ou através de um conjunto de padrões que serão selecionados aleatoriamente com argumentos opcionais de template. * {Message:script|[string, ...] ...templateArgs} -- Com Antes/Depois define uma mensagem através de script C# com argumento (estado JObject) ou através de um conjunto de padrões que serão selecionados aleatoriamente com argumentos template opcionais. * 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/Confirm prompt builders. * value -- valor do objeto a validar para Validar. * field -- Field<T> para permitir a atualização dinâmica de um campo em Define. * context -- IDialogContext contexto para permitir a publicação de resultados no OnCompletion.

    %Fields definidos através desta classe têm a mesma capacidade de estender ou sobrepor as definições programaticamente que qualquer outro campo. Também podem ser localizados da mesma forma.

Construtores

Name Descrição
FormBuilderJson(JObject)

Cria um construtor de formulários JSON.

Campos

Name Descrição
_form

Construa um formulário especificando mensagens, campos e confirmações através de Esquema JSON ou programáticamente.

(Herdado de FormBuilderBase<T>)

Propriedades

Name Descrição
Configuration

Construa um formulário especificando mensagens, campos e confirmações através de Esquema JSON ou programáticamente.

(Herdado de FormBuilderBase<T>)
Schema

Construa um formulário especificando mensagens, campos e confirmações através de Esquema JSON ou programáticamente.

Métodos

Name Descrição
AddRemainingFields(IEnumerable<String>)

Construa um formulário especificando mensagens, campos e confirmações através de Esquema JSON ou programáticamente.

Build(Assembly, String)

Construa um formulário especificando mensagens, campos e confirmações através de Esquema JSON ou programáticamente.

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

Construa um formulário especificando mensagens, campos e confirmações através de Esquema JSON ou programáticamente.

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

Construa um formulário especificando mensagens, campos e confirmações através de Esquema JSON ou programáticamente.

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

Construa um formulário especificando mensagens, campos e confirmações através de Esquema JSON ou programáticamente.

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

Construa um formulário especificando mensagens, campos e confirmações através de Esquema JSON ou programáticamente.

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

Construa um formulário especificando mensagens, campos e confirmações através de Esquema JSON ou programáticamente.

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

Construa um formulário especificando mensagens, campos e confirmações através de Esquema JSON ou programáticamente.

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

Construa um formulário especificando mensagens, campos e confirmações através de Esquema JSON ou programáticamente.

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

Construa um formulário especificando mensagens, campos e confirmações através de Esquema JSON ou programáticamente.

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

Construa um formulário especificando mensagens, campos e confirmações através de Esquema JSON ou programáticamente.

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

Construa um formulário especificando mensagens, campos e confirmações através de Esquema JSON ou programáticamente.

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

Construa um formulário especificando mensagens, campos e confirmações através de Esquema JSON ou programáticamente.

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

Construa um formulário especificando mensagens, campos e confirmações através de Esquema JSON ou programáticamente.

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

Construa um formulário especificando mensagens, campos e confirmações através de Esquema JSON ou programáticamente.

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

Construa um formulário especificando mensagens, campos e confirmações através de Esquema JSON ou programáticamente.

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

Construa um formulário especificando mensagens, campos e confirmações através de Esquema JSON ou programáticamente.

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

Construa um formulário especificando mensagens, campos e confirmações através de Esquema JSON ou programáticamente.

(Herdado de FormBuilderBase<T>)

Aplica-se a