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.
Utwórz formularz, określając komunikaty, 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 podanym dla języka C#.
Użytkownik %FormFlow używa wielu standardowych słów kluczowych schematu JSON :
-
type-- Definiuje typ pól. *enum- Definiuje możliwe wartości pól. *minimum-- Definiuje minimalną dozwoloną wartość zgodnie z opisem w temacie NumericAttribute. *maximum-- Definiuje maksymalną dozwoloną wartość zgodnie z opisem w temacie NumericAttribute. *required-- Definiuje, jakie pola są wymagane. *pattern-- W przypadku pól ciągów będzie używany do sprawdzania poprawności wprowadzonego wzorca zgodnie z opisem w temacie PatternAttribute.Szablony i monity używają tego samego słownictwa co TemplateAttribute i PromptAttribute. Nazwy właściwości są takie same, a wartości są takie same jak w podstawowym wyliczenie języka C#. Aby na przykład zdefiniować szablon w celu zastąpienia NotUnderstood szablonu i określić szablon TemplateBaseAttribute.ChoiceStyle, należy umieścić go w schemacie: ~~~ "Templates":{ "NotUnderstood": { Patterns: ["I don't get it"], "ChoiceStyle":"Auto"}} ~~~
%Extensions zdefiniowane w katalogu głównym schematu *
OnCompletion: script- skrypt języka C# z argumentami (IDialogContext kontekst, stan obiektu JObject) na potrzeby wypełniania formularza. *References: [assemblyReference, ...]-- Zdefiniuj odwołania do uwzględnienia w skryptach. Ścieżki powinny być bezwzględne lub względne względem bieżącego katalogu. Domyślnie Microsoft.Bot.Builder.dll jest uwzględniana. *Imports: [import, ...]-- Zdefiniuj importy do uwzględnienia w skryptach z użyciem. Domyślnie te przestrzenie nazw są uwzględniane: Microsoft.Bot.Builder, Microsoft.Bot.Builder.Dialogs, Microsoft.Bot.Builder.FormFlow, Microsoft.Bot.Builder.FormFlow.Advanced, System.Collections.Generic, System.Linq%Extensions zdefiniowane w katalogu głównym schematu lub jako element równorzędny właściwości "type". *
Templates:{TemplateUsage: { Patterns:[string, ...], <args> }, ...}-- Zdefiniuj szablony. *Prompt: { Patterns:[string, ...] <args>}-- Zdefiniuj monit.%Rozszerzenia, które znajdują się w opisie właściwości jako element równorzędny do właściwości "type" schematu JSON. *
DateTime:bool— oznacza pole jako pole DateTime. *Describe:string- Opis pola zgodnie z opisem w temacie DescribeAttribute. *Terms:[string,...]-- Wyrażenia regularne do dopasowywania wartości pola zgodnie z opisem w temacie TermsAttribute. *MaxPhrase:int— Spowoduje to uruchomienie terminów w GenerateTerms(String, Int32) celu ich rozwinięcia. *Values:{ string: {Describe:string, Terms:[string, ...], MaxPhrase}, ...}- Ciąg musi znajdować się w typach "wyliczeniowych", co pozwala zastąpić automatycznie wygenerowane opisy i terminy. Jeśli parametr MaxPhrase jest określony, terminy są przekazywane za pośrednictwem GenerateTerms(String, Int32)elementu . *Active:script-- Skrypt języka C# z argumentami (stan JObject)->bool do testowania, aby sprawdzić, czy pole/komunikat/potwierdzenie jest aktywne. *Validate:script-- Skrypt języka C# z argumentami (stan JObject, wartość obiektu)->ValidateResult do sprawdzania poprawności wartości pola. *Define:script-- Skrypt języka C# z argumentami (stan JObject,<pole JObject> ) do dynamicznego definiowania pola. *Before:[confirm|message, ...]- Komunikaty lub potwierdzenia przed zawierającym polem. *After:[confirm|message, ...]- Komunikaty lub potwierdzenia po polu zawierającym. *{Confirm:script|[string, ...], ...templateArgs}-- Za pomocą opcji Przed/Po zdefiniuj potwierdzenie za pomocą skryptu języka C# z argumentem (stan JObject) lub zestawem wzorców, które zostaną losowo wybrane z opcjonalnymi argumentami szablonu. *{Message:script|[string, ...] ...templateArgs}-- Z przed/po zdefiniować komunikat za pomocą skryptu języka C# z argumentem (stan JObject) lub za pomocą zestawu wzorców, które zostaną losowo wybrane z opcjonalnymi argumentami szablonu. *Dependencies:[ciąg, ...]-- 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: *wybór-- internal dispatch for script to execute. *stanu-- JObject form state bound for all scripts. *ifield-- <xref data-throw-if-not-resolved="true" uid="Microsoft.Bot.Builder.FormFlow.Advanced.IField1"> , aby zezwolić na wnioskowanie względem bieżącego pola dla wszystkich skryptów z wyjątkiem %Message/Confirm prompt builders. *value- wartość obiektu, która ma zostać zweryfikowana pod kątem weryfikacji. *field-- Field<T> umożliwia dynamiczne aktualizowanie pola w sekcji Zdefiniuj. *context-- IDialogContext context , aby zezwolić na publikowanie wyników w OnCompletion.%Pola zdefiniowane w tej klasie mają taką samą możliwość rozszerzenia lub zastąpienia definicji programowo, jak w przypadku każdego innego pola. Można je również lokalizować w taki sam sposób.
Konstruktory
| FormBuilderJson(JObject) |
Utwórz konstruktor formularzy JSON. |
Pola
| _form |
Utwórz formularz, określając komunikaty, pola i potwierdzenia za pomocą schematu JSON lub programowo. (Odziedziczone po FormBuilderBase<T>) |
Właściwości
| Configuration |
Utwórz formularz, określając komunikaty, pola i potwierdzenia za pomocą schematu JSON lub programowo. (Odziedziczone po FormBuilderBase<T>) |
| Schema |
Utwórz formularz, określając komunikaty, pola i potwierdzenia za pomocą schematu JSON lub programowo. |
Metody
| AddRemainingFields(IEnumerable<String>) |
Utwórz formularz, określając komunikaty, pola i potwierdzenia za pomocą schematu JSON lub programowo. |
| Build(Assembly, String) |
Utwórz formularz, określając komunikaty, pola i potwierdzenia za pomocą schematu JSON lub programowo. |
| Confirm(MessageDelegate<T>, ActiveDelegate<T>, IEnumerable<String>) |
Utwórz formularz, określając komunikaty, pola i potwierdzenia za pomocą schematu JSON lub programowo. (Odziedziczone po FormBuilderBase<T>) |
| Confirm(PromptAttribute, ActiveDelegate<T>, IEnumerable<String>) |
Utwórz formularz, określając komunikaty, pola i potwierdzenia za pomocą schematu JSON lub programowo. (Odziedziczone po FormBuilderBase<T>) |
| Confirm(String, ActiveDelegate<T>, IEnumerable<String>) |
Utwórz formularz, określając komunikaty, pola i potwierdzenia za pomocą schematu JSON lub programowo. (Odziedziczone po FormBuilderBase<T>) |
| Field(IField<T>) |
Utwórz formularz, określając komunikaty, pola i potwierdzenia za pomocą schematu JSON lub programowo. (Odziedziczone po FormBuilderBase<T>) |
| Field(String, ActiveDelegate<JObject>, ValidateAsyncDelegate<JObject>) |
Utwórz formularz, określając komunikaty, pola i potwierdzenia za pomocą schematu JSON lub programowo. |
| Field(String, ActiveDelegate<T>, ValidateAsyncDelegate<T>) |
Utwórz formularz, określając komunikaty, pola i potwierdzenia za pomocą schematu JSON lub programowo. (Odziedziczone po FormBuilderBase<T>) |
| Field(String, PromptAttribute, ActiveDelegate<JObject>, ValidateAsyncDelegate<JObject>) |
Utwórz formularz, określając komunikaty, pola i potwierdzenia za pomocą schematu JSON lub programowo. |
| Field(String, PromptAttribute, ActiveDelegate<T>, ValidateAsyncDelegate<T>) |
Utwórz formularz, określając komunikaty, pola i potwierdzenia za pomocą schematu JSON lub programowo. (Odziedziczone po FormBuilderBase<T>) |
| Field(String, String, ActiveDelegate<JObject>, ValidateAsyncDelegate<JObject>) |
Utwórz formularz, określając komunikaty, pola i potwierdzenia za pomocą schematu JSON lub programowo. |
| Field(String, String, ActiveDelegate<T>, ValidateAsyncDelegate<T>) |
Utwórz formularz, określając komunikaty, pola i potwierdzenia za pomocą schematu JSON lub programowo. (Odziedziczone po FormBuilderBase<T>) |
| HasField(String) |
Utwórz formularz, określając komunikaty, pola i potwierdzenia za pomocą schematu JSON lub programowo. (Odziedziczone po FormBuilderBase<T>) |
| Message(MessageDelegate<T>, ActiveDelegate<T>, IEnumerable<String>) |
Utwórz formularz, określając komunikaty, pola i potwierdzenia za pomocą schematu JSON lub programowo. (Odziedziczone po FormBuilderBase<T>) |
| Message(PromptAttribute, ActiveDelegate<T>, IEnumerable<String>) |
Utwórz formularz, określając komunikaty, pola i potwierdzenia za pomocą schematu JSON lub programowo. (Odziedziczone po FormBuilderBase<T>) |
| Message(String, ActiveDelegate<T>, IEnumerable<String>) |
Utwórz formularz, określając komunikaty, pola i potwierdzenia za pomocą schematu JSON lub programowo. (Odziedziczone po FormBuilderBase<T>) |
| OnCompletion(OnCompletionAsyncDelegate<T>) |
Utwórz formularz, określając komunikaty, pola i potwierdzenia za pomocą schematu JSON lub programowo. (Odziedziczone po FormBuilderBase<T>) |
| Prompter(PromptAsyncDelegate<T>) |
Utwórz formularz, określając komunikaty, pola i potwierdzenia za pomocą schematu JSON lub programowo. (Odziedziczone po FormBuilderBase<T>) |