FormBuilderJson Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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
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, ...], <args> }, ...}-- Define modelos. *Prompt: { Patterns:[string, ...] <args>}-- 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>) |