IFormBuilder<T> Schnittstelle

Definition

Schnittstelle zum Erstellen eines Formulars.

public interface IFormBuilder<T> where T : class
type IFormBuilder<'T (requires 'T : null)> = interface
Public Interface IFormBuilder(Of T)

Typparameter

T

Formularstatus.

Abgeleitet

Hinweise

Ein Formular besteht aus einer Reihe von Schritten, die einer von sein können:

Standardmäßig werden die Schritte in der Reihenfolge der Message(String, ActiveDelegate<T>, IEnumerable<String>)Aufrufe Field(IField<T>) und Confirm(String, ActiveDelegate<T>, IEnumerable<String>) ausgeführt. Wenn Sie keine explizite Kontrolle übernehmen, werden die Schritte in der reihenfolge ausgeführt, die im Formularzustand mit einer endgültigen Bestätigung definiert ist. Mit dieser Schnittstelle können Sie ein Formular erstellen, indem Sie Felder, Nachrichten und Bestätigungen zusammensetzen. Die Fluent-Bausteine bieten allgemeine Muster, z. B. Felder, die auf Ihrer Zustandsklasse basieren, aber Sie können auch ihre eigene Definition eines Formulars mithilfe von Advanced.IField erstellen. Wenn Sie ein Formular mithilfe der C#-Reflexion über Ihre Zustandsklasse erstellen möchten, verwenden Sie FormBuilder. Zum deklarativen Erstellen eines Formulars über das JSON-Schema können Sie Json.FormBuilderJson verwenden.

Formulare sind empfindlich auf die aktuelle Thread-UI-Kultur. Die Microsoft.Bot.Builder-Zeichenfolgen werden in diese Kultur lokalisiert, sofern verfügbar. Sie können die für Ihr Formular generierten Zeichenfolgen auch lokalisieren, indem Sie IForm.SaveResources aufrufen oder das RView-Tool verwenden und diese Ressource Ihrem Projekt hinzufügen. Für Zeichenfolgen in dynamischen Feldern, Nachrichten oder Bestätigungen müssen Sie die normalen C#-Mechanismen verwenden, um sie zu lokalisieren. Weitere Informationen finden Sie in der Übersichtsdokumentation.

Eigenschaften

Configuration

Die Formularkonfiguration stellt Standardvorlagen und -einstellungen bereit.

Methoden

AddRemainingFields(IEnumerable<String>)

Fügen Sie alle Felder hinzu, die dem Formular noch nicht hinzugefügt wurden.

Build(Assembly, String)

Erstellen Sie das Formular basierend auf den Methoden, die für den Generator aufgerufen werden.

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

Generieren Sie eine Bestätigung mithilfe eines Delegaten, um die Nachricht dynamisch zu erstellen.

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

Fügen Sie einen Bestätigungsschritt hinzu.

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

Fügen Sie einen Bestätigungsschritt hinzu.

Field(IField<T>)

Definieren Sie einen Feldschritt, indem Sie Ihre eigene Felddefinition bereitstellen.

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

Definieren Sie einen Schritt zum Ausfüllen eines bestimmten Werts im Formularzustand.

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

Definieren Sie einen Schritt zum Ausfüllen eines bestimmten Werts im Formularzustand.

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

Definieren Sie einen Schritt zum Ausfüllen eines bestimmten Werts im Formularzustand.

HasField(String)

Testen Sie, ob bereits ein Feld mit namevorhanden ist.

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

Generieren Sie eine Nachricht mithilfe eines Delegaten, um die Nachricht dynamisch zu erstellen.

Message(PromptAttribute, ActiveDelegate<T>, IEnumerable<String>)

Zeigen Sie eine Nachricht mit mehr Formatsteuerelementen an, für die keine Antwort erforderlich ist.

Message(String, ActiveDelegate<T>, IEnumerable<String>)

Zeigen Sie eine Nachricht an, die keine Antwort erfordert.

OnCompletion(OnCompletionAsyncDelegate<T>)

Delegat für den Aufruf, wenn das Formular ausgefüllt ist.

Prompter(PromptAsyncDelegate<T>)

Delegieren, um eine Eingabeaufforderung an den Benutzer zu senden.

Gilt für: