다음을 통해 공유


FormDialog<T> 클래스

정의

상태를 채울 양식 대화 상자입니다.

[System.Serializable]
public sealed class FormDialog<T> : Microsoft.Bot.Builder.Dialogs.IDialog<T>, Microsoft.Bot.Builder.FormFlow.IFormDialog<T>, System.Runtime.Serialization.ISerializable where T : class
[<System.Serializable>]
type FormDialog<'T (requires 'T : null)> = class
    interface IFormDialog<'T (requires 'T : null)>
    interface IDialog<'T (requires 'T : null)>
    interface ISerializable
Public NotInheritable Class FormDialog(Of T)
Implements IDialog(Of T), IFormDialog(Of T), ISerializable

형식 매개 변수

T

채울 형식입니다.

상속
FormDialog<T>
특성
구현

설명

FormFlow 대화 상자를 관리하기 위한 루트 클래스입니다. 일반적으로 팩터리 메서드 FromForm<T>(BuildFormDelegate<T>, FormOptions) 또는 FromType<T>(FormOptions)를 통해 만들어집니다.

생성자

FormDialog<T>(T, BuildFormDelegate<T>, FormOptions, IEnumerable<EntityRecommendation>, CultureInfo)

FormFlow 대화 상자를 만들기 위한 생성자입니다.

메서드

MessageReceived(IDialogContext, IAwaitable<IMessageActivity>)

상태를 채울 양식 대화 상자입니다.

명시적 인터페이스 구현

IDialog<T>.StartAsync(IDialogContext)

상태를 채울 양식 대화 상자입니다.

IFormDialog<T>.Form

상태를 채울 양식 대화 상자입니다.

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

상태를 채울 양식 대화 상자입니다.

확장 메서드

Catch<T>(IDialog<T>, Func<IDialog<T>,Exception,IDialog<T>>)

선행 IDialog<TResult> 작업이 완료되면 예외를 catch하고 처리합니다.

Catch<T,E>(IDialog<T>, Func<IDialog<T>,E,IDialog<T>>)

선행 IDialog<TResult> 작업이 완료되면 형식 E의 예외를 catch하고 처리합니다.

ContinueWith<T,R>(IDialog<T>, Chain.Continuation<T,R>)

선행 IDialog<TResult> 작업이 완료되면 연속 작업을 실행하여 다음 IDialog<TResult>을 생성합니다.

DefaultIfException<T>(IDialog<T>)

선행 IDialog<TResult> 작업이 완료되면 예외 전파를 중지합니다.

DefaultIfException<T,E>(IDialog<T>)

선행 IDialog<TResult> 작업이 완료되면 예외의 전파를 중지합니다 E.

Do<T>(IDialog<T>, Func<IBotContext,IAwaitable<T>,Task>)

가 완료된 후 부작용을 IDialog<TResult> 실행합니다.

Loop<T>(IDialog<T>)

를 영원히 반복합니다 IDialog<TResult> .

PostEvent<T,E>(IDialog<T>, E)

선행 IDialog<TResult> 작업이 완료되면 항목을 이벤트 큐에 게시합니다.

PostToUser<T>(IDialog<T>)

의 결과를 사용자에게 게시합니다 IDialog<TResult>.

Select<T,R>(IDialog<T>, Func<T,R>)

선행 작업이 완료되면 결과를 새 IDialog<TResult>로 프로젝트 IDialog<TResult> 합니다.

SelectMany<T,C,R>(IDialog<T>, Func<T,IDialog<C>>, Func<T,C,R>)

선행 IDialog<TResult> 작업이 완료되면 다음 IDialog<TResult>를 실행하고 프로젝션을 사용하여 결과를 결합합니다.

Switch<T,R>(IDialog<T>, ICase<T,R>[])

선행 IDialog<TResult> 작업이 완료되면 각각 ICase<T,R> 을 살펴보고 선행 대화 상자에서 반환된 값이 충족하는 첫 번째 ICase<T,R> 의 "를 실행ContextualSelector<T,R>합니다.

Then<T,R>(IDialog<T>, Func<IBotContext,IAwaitable<T>,Task<R>>)

가 완료된 후 IDialog<TResult> 작업을 실행합니다.

Void<T>(IDialog<T>, IDialogStack)

voided IDialog<TResult>를 호출하고 결과를 무시한 다음 원래 대화 대기를 다시 시작합니다.

Void<T,R>(IDialog<T>)

voided IDialog<TResult>를 호출하고 결과를 무시한 다음 원래 대화 대기를 다시 시작합니다.

WaitToBot<T>(IDialog<T>)

선행 작업이 완료된 후 메시지를 봇에 체인에 게시합니다.

Where<T>(IDialog<T>, Func<T,Boolean>)

선행 IDialog<TResult> 작업이 완료되면 조건자를 평가하고 계속할지 여부를 결정합니다.

While<T>(IDialog<T>, Func<T,IDialog<Boolean>>, Func<T,IDialog<T>>)

IDialog<TResult> while 루프를 나타내는 을 만듭니다.

WithScorable<T,Item,Score>(IDialog<T>, IScorable<Item,Score>)

점수 매기기를 사용하여 대화 상자를 데코레이트하여 점수 매기기 가능이 대화 스택에 참여할 수 있도록 합니다.

적용 대상