FormBuilderJson Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Costruisci un modulo specificando messaggi, campi e conferme tramite uno schema JSON o in modo programmatico.
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)
- Ereditarietà
Commenti
Definire un modulo tramite uno schema JSON con annotazioni aggiuntive opzionali che corrispondono agli attributi forniti per C#.
%FormFlow utilizza una serie di parole chiave standard dello schema JSON tra cui sare:
-
type-- Definisce il tipo di campo. *enum-- Definisce i possibili valori dei campi. *minimum-- Definisce il valore minimo consentito come descritto in NumericAttribute. *maximum-- Definisce il valore massimo consentito come descritto in NumericAttribute. *required-- Definisce quali campi sono richiesti. *pattern-- Per stringhe i campi saranno usati per validare il pattern inserito come descritto in PatternAttribute.Modelli e prompt utilizzano lo stesso vocabolario di TemplateAttribute e PromptAttribute. I nomi delle proprietà sono gli stessi e i valori sono gli stessi di quelli dell'enumerazione sottostante in C#. Ad esempio, per definire un template che sovrascriva il NotUnderstood template e specificare un TemplateBaseAttribute.ChoiceStyle, dovresti mettere questo nel tuo schema: ~~~ "Templates":{ "NotUnderstood": { Patterns: ["I don't hot"], "ChoiceStyle":"Auto"}} ~~~
%Extensions definita alla radice dello schema *
OnCompletion: script-- script C# con argomenti (IDialogContext contesto, stato JObject) per completare il modulo. *References: [assemblyReference, ...]-- Definire i riferimenti da includere negli script. I percorsi dovrebbero essere assoluti, o relativi alla directory corrente. Per impostazione predefinita, Microsoft.Bot.Builder.dll è incluso. *Imports: [import, ...]-- Definire le importazioni come incluse negli script con gli utilizzi. Per impostazione predefinita, questi namespace sono inclusi: Microsoft. Bot.Builder, Microsoft. Bot.Builder.Dialogs, Microsoft. Bot.Builder.FormFlow, Microsoft. Bot.Builder.FormFlow.Advanced, System.Collections.Generic, System.Linq%Extensions definita alla radice di uno schema o come pari della proprietà "tipo". *
Templates:{TemplateUsage: { Patterns:[string, ...], <args> }, ...}-- Definire i modelli. *Prompt: { Patterns:[string, ...] <args>}-- Definisci un prompt.%Extensions che si trovano in una descrizione di proprietà come pari alla proprietà "type" di uno schema JSON. *
DateTime:bool-- Segna un campo come campo DataOra. *Describe:string-- Descrizione di un campo come descritto in DescribeAttribute. *Terms:[string,...]-- Espressioni regolari per l'abbinamento di un valore di campo come descritto in TermsAttribute. *MaxPhrase:int-- Questo farà passare i tuoi termini GenerateTerms(String, Int32) per ampliarli. *Values:{ string: {Describe:string, Terms:[string, ...], MaxPhrase}, ...}-- La stringa deve trovarsi nei tipi "enum" e questo permette di sovrascrivere le descrizioni e i termini generati automaticamente. Se è specificato MaxPhrase, i termini vengono trasmessi attraverso GenerateTerms(String, Int32). *Active:script-- script C# con argomenti (stato JObject)->bool per testare se il campo/messaggio/conferma è attivo. *Validate:script-- script C# con argomenti (stato JObject, valore dell'oggetto)->ValidateResult per la validazione di un valore di campo. *Define:script-- script C# con argomenti (stato JObject, campo JObject> del campo<) per definire dinamicamente un campo. *Before:[confirm|message, ...]-- Messaggi o conferme prima del campo contenente. *After:[confirm|message, ...]-- Messaggi o conferme dopo il campo contenente. *{Confirm:script|[string, ...], ...templateArgs}-- Con Prima/Dopo definire una conferma tramite uno script C# con argomento (stato JObject) o tramite un insieme di pattern che saranno selezionati casualmente con argomenti template opzionali. *{Message:script|[string, ...] ...templateArgs}-- Con Prima/Dopo definire un messaggio tramite uno script C# con argomento (stato JObject) o tramite un insieme di pattern che saranno selezionati casualmente con argomenti template opzionali. *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"> per permettere il ragionamento sul campo corrente per tutti gli script tranne %Messagei costruttori di prompt /Conferma. *value-- valore dell'oggetto da validare per Validate. *field-- Field<T> per permettere l'aggiornamento dinamico di un campo in Define. *context-- IDialogContext Contesto per permettere la pubblicazione dei risultati in OnCompletion.%Fields definiti tramite questa classe hanno la stessa capacità di estendere o sovrascrivere le definizioni programmaticamente di qualsiasi altro campo. Possono anche essere localizzate allo stesso modo.
Costruttori
| Nome | Descrizione |
|---|---|
| FormBuilderJson(JObject) |
Crea un costruttore di moduli JSON. |
Campi
| Nome | Descrizione |
|---|---|
| _form |
Costruisci un modulo specificando messaggi, campi e conferme tramite uno schema JSON o in modo programmatico. (Ereditato da FormBuilderBase<T>) |
Proprietà
| Nome | Descrizione |
|---|---|
| Configuration |
Costruisci un modulo specificando messaggi, campi e conferme tramite uno schema JSON o in modo programmatico. (Ereditato da FormBuilderBase<T>) |
| Schema |
Costruisci un modulo specificando messaggi, campi e conferme tramite uno schema JSON o in modo programmatico. |
Metodi
| Nome | Descrizione |
|---|---|
| AddRemainingFields(IEnumerable<String>) |
Costruisci un modulo specificando messaggi, campi e conferme tramite uno schema JSON o in modo programmatico. |
| Build(Assembly, String) |
Costruisci un modulo specificando messaggi, campi e conferme tramite uno schema JSON o in modo programmatico. |
| Confirm(MessageDelegate<T>, ActiveDelegate<T>, IEnumerable<String>) |
Costruisci un modulo specificando messaggi, campi e conferme tramite uno schema JSON o in modo programmatico. (Ereditato da FormBuilderBase<T>) |
| Confirm(PromptAttribute, ActiveDelegate<T>, IEnumerable<String>) |
Costruisci un modulo specificando messaggi, campi e conferme tramite uno schema JSON o in modo programmatico. (Ereditato da FormBuilderBase<T>) |
| Confirm(String, ActiveDelegate<T>, IEnumerable<String>) |
Costruisci un modulo specificando messaggi, campi e conferme tramite uno schema JSON o in modo programmatico. (Ereditato da FormBuilderBase<T>) |
| Field(IField<T>) |
Costruisci un modulo specificando messaggi, campi e conferme tramite uno schema JSON o in modo programmatico. (Ereditato da FormBuilderBase<T>) |
| Field(String, ActiveDelegate<JObject>, ValidateAsyncDelegate<JObject>) |
Costruisci un modulo specificando messaggi, campi e conferme tramite uno schema JSON o in modo programmatico. |
| Field(String, ActiveDelegate<T>, ValidateAsyncDelegate<T>) |
Costruisci un modulo specificando messaggi, campi e conferme tramite uno schema JSON o in modo programmatico. (Ereditato da FormBuilderBase<T>) |
| Field(String, PromptAttribute, ActiveDelegate<JObject>, ValidateAsyncDelegate<JObject>) |
Costruisci un modulo specificando messaggi, campi e conferme tramite uno schema JSON o in modo programmatico. |
| Field(String, PromptAttribute, ActiveDelegate<T>, ValidateAsyncDelegate<T>) |
Costruisci un modulo specificando messaggi, campi e conferme tramite uno schema JSON o in modo programmatico. (Ereditato da FormBuilderBase<T>) |
| Field(String, String, ActiveDelegate<JObject>, ValidateAsyncDelegate<JObject>) |
Costruisci un modulo specificando messaggi, campi e conferme tramite uno schema JSON o in modo programmatico. |
| Field(String, String, ActiveDelegate<T>, ValidateAsyncDelegate<T>) |
Costruisci un modulo specificando messaggi, campi e conferme tramite uno schema JSON o in modo programmatico. (Ereditato da FormBuilderBase<T>) |
| HasField(String) |
Costruisci un modulo specificando messaggi, campi e conferme tramite uno schema JSON o in modo programmatico. (Ereditato da FormBuilderBase<T>) |
| Message(MessageDelegate<T>, ActiveDelegate<T>, IEnumerable<String>) |
Costruisci un modulo specificando messaggi, campi e conferme tramite uno schema JSON o in modo programmatico. (Ereditato da FormBuilderBase<T>) |
| Message(PromptAttribute, ActiveDelegate<T>, IEnumerable<String>) |
Costruisci un modulo specificando messaggi, campi e conferme tramite uno schema JSON o in modo programmatico. (Ereditato da FormBuilderBase<T>) |
| Message(String, ActiveDelegate<T>, IEnumerable<String>) |
Costruisci un modulo specificando messaggi, campi e conferme tramite uno schema JSON o in modo programmatico. (Ereditato da FormBuilderBase<T>) |
| OnCompletion(OnCompletionAsyncDelegate<T>) |
Costruisci un modulo specificando messaggi, campi e conferme tramite uno schema JSON o in modo programmatico. (Ereditato da FormBuilderBase<T>) |
| Prompter(PromptAsyncDelegate<T>) |
Costruisci un modulo specificando messaggi, campi e conferme tramite uno schema JSON o in modo programmatico. (Ereditato da FormBuilderBase<T>) |