FormBuilderJson Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zbuduj formularz, określając wiadomości, pola i potwierdzenia za pomocą schematu JSON lub programowo.
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)
- Dziedziczenie
Uwagi
Zdefiniuj formularz za pomocą schematu JSON z opcjonalnymi dodatkowymi adnotacjami odpowiadającymi atrybutom udostępnionym dla C#.
%FormFlow wykorzystuje szereg standardowych słów kluczowych schematu JSON , w tym:
-
type-- Definiuje typ pól. *enum-- Definiuje możliwe wartości pól. *minimum-- Definiuje minimalną dozwoloną wartość opisaną w .NumericAttribute *maximum-- Definiuje maksymalną dozwoloną wartość opisaną w .NumericAttribute *required-- Definiuje, jakie pola są wymagane. *pattern-- Dla łańcuchów znaczków pola będą używane do weryfikacji wprowadzonego wzorca, jak opisano w .PatternAttributeSzablony i prompty używają tego samego słownictwa co TemplateAttribute i PromptAttribute. Nazwy właściwości są takie same, a wartości takie same jak w podstawowej enumeracji C#. Na przykład, aby zdefiniować szablon nadpisujący szablon NotUnderstood i określić TemplateBaseAttribute.ChoiceStyle, wpisz to do schematu: ~~~ "Templates":{ "NotUnderstood": { Patterns: ["I don't get it"], "ChoiceStyle":"Auto"}} ~~~
%Extensions zdefiniowany u korzenia schematu *
OnCompletion: script-- skrypt C# z argumentami (IDialogContext kontekst, stan JObject) do uzupełniania formularza. *References: [assemblyReference, ...]-- Zdefiniuj odniesienia do zawierania w skryptach. Ścieżki powinny być absolutne lub względne względem aktualnego katalogu. Domyślnie Microsoft.Bot.Builder.dll jest dołączone. *Imports: [import, ...]-- Zdefiniuj importy do uwzględnienia skryptów z użyciem. Domyślnie te przestrzenie nazw są dołączone: Microsoft. Bot.Builder, Microsoft. Bot.Builder.Dialogs, Microsoft. Bot.Builder.FormFlow, Microsoft. Bot.Builder.FormFlow.Advanced, System.Collections.Generic, System.Linq%Extensions definiowany u korzenia schematu lub jako odpowiednik własności "typ". *
Templates:{TemplateUsage: { Patterns:[string, ...], <args> }, ...}-- Zdefiniuj szablony. *Prompt: { Patterns:[string, ...] <args>}-- Zdefiniuj prompt.%Extensions występują w opisie właściwości jako równorzędne z własnością "typu" schematu JSON. *
DateTime:bool-- Oznacza pole jako pole DateTime. *Describe:string-- Opis ciała opisanego w .DescribeAttribute *Terms:[string,...]-- Wyrażenia regularne do dopasowywania wartości pola opisane w .TermsAttribute *MaxPhrase:int-- To przejdzie przez twoje warunki GenerateTerms(String, Int32) , by je rozszerzyć. *Values:{ string: {Describe:string, Terms:[string, ...], MaxPhrase}, ...}-- Ciąg musi być znaleziony w typach "enum", co pozwala nadpisać automatycznie generowane opisy i terminy. Jeśli podano MaxPhrase, terminy są przekazywane przez GenerateTerms(String, Int32). *Active:script-- skrypt C# z argumentami (JObject state)->bool, aby sprawdzić, czy pole/wiadomość/potwierdzenie jest aktywne. *Validate:script-- Skrypt C# z argumentami (JObject state, wartość obiektu)->ValidateResult do weryfikacji wartości pola. *Define:script-- skrypt C# z argumentami (stan JObject, pole JObject<>) do dynamicznego definiowania ciała. *Before:[confirm|message, ...]-- Wiadomości lub potwierdzenia przed polem zawierającym ją. *After:[confirm|message, ...]-- Wiadomości lub potwierdzenia po polu zawierającym. *{Confirm:script|[string, ...], ...templateArgs}-- Za pomocą Przed/Po zdefiniuj potwierdzenie za pomocą skryptu C# z argumentem (stan JObject) lub przez zestaw wzorców, które będą losowo wybierane z opcjonalnymi argumentami szablonu. *{Message:script|[string, ...] ...templateArgs}-- Za pomocą Przed/Po zdefiniuj wiadomość za pomocą skryptu C# z argumentem (stan JObject) lub przez zestaw wzorców, które będą losowo wybierane z opcjonalnymi argumentami szablonu. *Dependencies:[string, ...]-- 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: *stan wyboru-- internal dispatch for script to execute. *-- JObject form state bound for all scripts. *ifield-- <xref data-throw-if-not-resolved="true" uid="Microsoft.Bot.Builder.FormFlow.Advanced.IField1",> aby umożliwić rozumowanie nad aktualnym polem dla wszystkich skryptów z wyjątkiem %Message/Confirm prompt builders. *value-- wartość obiektu do zweryfikowania dla Validate. *field-- Field<T> umożliwiając dynamiczną aktualizację pola w Define. *context-- IDialogContext kontekst umożliwiający publikowanie wyników w OnCompletion.%Fields zdefiniowane przez tę klasę mają taką samą zdolność programowego rozszerzania lub nadpisywania definicji jak każde inne pole. Można je również zlokalizować w ten sam sposób.
Konstruktory
| Nazwa | Opis |
|---|---|
| FormBuilderJson(JObject) |
Stwórz kreator formularzy JSON. |
Pola
| Nazwa | Opis |
|---|---|
| _form |
Zbuduj formularz, określając wiadomości, pola i potwierdzenia za pomocą schematu JSON lub programowo. (Odziedziczone po FormBuilderBase<T>) |
Właściwości
| Nazwa | Opis |
|---|---|
| Configuration |
Zbuduj formularz, określając wiadomości, pola i potwierdzenia za pomocą schematu JSON lub programowo. (Odziedziczone po FormBuilderBase<T>) |
| Schema |
Zbuduj formularz, określając wiadomości, pola i potwierdzenia za pomocą schematu JSON lub programowo. |
Metody
| Nazwa | Opis |
|---|---|
| AddRemainingFields(IEnumerable<String>) |
Zbuduj formularz, określając wiadomości, pola i potwierdzenia za pomocą schematu JSON lub programowo. |
| Build(Assembly, String) |
Zbuduj formularz, określając wiadomości, pola i potwierdzenia za pomocą schematu JSON lub programowo. |
| Confirm(MessageDelegate<T>, ActiveDelegate<T>, IEnumerable<String>) |
Zbuduj formularz, określając wiadomości, pola i potwierdzenia za pomocą schematu JSON lub programowo. (Odziedziczone po FormBuilderBase<T>) |
| Confirm(PromptAttribute, ActiveDelegate<T>, IEnumerable<String>) |
Zbuduj formularz, określając wiadomości, pola i potwierdzenia za pomocą schematu JSON lub programowo. (Odziedziczone po FormBuilderBase<T>) |
| Confirm(String, ActiveDelegate<T>, IEnumerable<String>) |
Zbuduj formularz, określając wiadomości, pola i potwierdzenia za pomocą schematu JSON lub programowo. (Odziedziczone po FormBuilderBase<T>) |
| Field(IField<T>) |
Zbuduj formularz, określając wiadomości, pola i potwierdzenia za pomocą schematu JSON lub programowo. (Odziedziczone po FormBuilderBase<T>) |
| Field(String, ActiveDelegate<JObject>, ValidateAsyncDelegate<JObject>) |
Zbuduj formularz, określając wiadomości, pola i potwierdzenia za pomocą schematu JSON lub programowo. |
| Field(String, ActiveDelegate<T>, ValidateAsyncDelegate<T>) |
Zbuduj formularz, określając wiadomości, pola i potwierdzenia za pomocą schematu JSON lub programowo. (Odziedziczone po FormBuilderBase<T>) |
| Field(String, PromptAttribute, ActiveDelegate<JObject>, ValidateAsyncDelegate<JObject>) |
Zbuduj formularz, określając wiadomości, pola i potwierdzenia za pomocą schematu JSON lub programowo. |
| Field(String, PromptAttribute, ActiveDelegate<T>, ValidateAsyncDelegate<T>) |
Zbuduj formularz, określając wiadomości, pola i potwierdzenia za pomocą schematu JSON lub programowo. (Odziedziczone po FormBuilderBase<T>) |
| Field(String, String, ActiveDelegate<JObject>, ValidateAsyncDelegate<JObject>) |
Zbuduj formularz, określając wiadomości, pola i potwierdzenia za pomocą schematu JSON lub programowo. |
| Field(String, String, ActiveDelegate<T>, ValidateAsyncDelegate<T>) |
Zbuduj formularz, określając wiadomości, pola i potwierdzenia za pomocą schematu JSON lub programowo. (Odziedziczone po FormBuilderBase<T>) |
| HasField(String) |
Zbuduj formularz, określając wiadomości, pola i potwierdzenia za pomocą schematu JSON lub programowo. (Odziedziczone po FormBuilderBase<T>) |
| Message(MessageDelegate<T>, ActiveDelegate<T>, IEnumerable<String>) |
Zbuduj formularz, określając wiadomości, pola i potwierdzenia za pomocą schematu JSON lub programowo. (Odziedziczone po FormBuilderBase<T>) |
| Message(PromptAttribute, ActiveDelegate<T>, IEnumerable<String>) |
Zbuduj formularz, określając wiadomości, pola i potwierdzenia za pomocą schematu JSON lub programowo. (Odziedziczone po FormBuilderBase<T>) |
| Message(String, ActiveDelegate<T>, IEnumerable<String>) |
Zbuduj formularz, określając wiadomości, pola i potwierdzenia za pomocą schematu JSON lub programowo. (Odziedziczone po FormBuilderBase<T>) |
| OnCompletion(OnCompletionAsyncDelegate<T>) |
Zbuduj formularz, określając wiadomości, pola i potwierdzenia za pomocą schematu JSON lub programowo. (Odziedziczone po FormBuilderBase<T>) |
| Prompter(PromptAsyncDelegate<T>) |
Zbuduj formularz, określając wiadomości, pola i potwierdzenia za pomocą schematu JSON lub programowo. (Odziedziczone po FormBuilderBase<T>) |