다음을 통해 공유


FormBuilderJson 클래스

정의

JSON 스키마를 통해 또는 프로그래밍 방식으로 메시지, 필드 및 확인을 지정하여 양식을 작성합니다.

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)
상속
FormBuilderBase<Newtonsoft.Json.Linq.JObject>
FormBuilderJson

설명

C#에 제공된 특성에 해당하는 선택적 추가 주석을 사용하여 JSON 스키마 를 통해 양식을 정의합니다.

%FormFlow는 다음과 같은 여러 표준 JSON 스키마 키워드를 사용합니다.

  • type -- 필드 형식을 정의합니다. * enum -- 가능한 필드 값을 정의합니다. * minimum -- 에 설명된 대로 허용되는 최소 값을 정의합니다 NumericAttribute. * maximum -- 에 설명된 대로 허용되는 최대 값을 정의합니다 NumericAttribute. * required -- 필요한 필드를 정의합니다. * pattern -- 문자열 필드의 경우 에 설명 PatternAttribute된 대로 입력된 패턴의 유효성을 검사하는 데 사용됩니다.

    템플릿 및 프롬프트는 및 과 PromptAttribute동일한 어휘를 TemplateAttribute 사용합니다. 속성 이름은 동일하며 값은 기본 C# 열거형의 값과 동일합니다. 예를 들어 템플릿을 재정 NotUnderstood 의하고 TemplateBaseAttribute.ChoiceStyle을 지정하는 템플릿을 정의하려면 ~~~ "Templates":{ "NotUnderstood": { Patterns: ["I don't get it"], "ChoiceStyle":"Auto"}} ~~~ 스키마에 넣습니다.

    스키마의 루트에 정의된 %확장 * OnCompletion: script -- 형식을 완료하기 위한 인수(IDialogContext 컨텍스트, JObject 상태)가 있는 C# 스크립트입니다. * References: [assemblyReference, ...] -- 스크립트에 포함할 참조를 정의합니다. 경로는 절대 경로이거나 현재 디렉터리를 기준으로 해야 합니다. 기본적으로 Microsoft.Bot.Builder.dll 포함됩니다. * Imports: [import, ...] -- using를 사용하여 스크립트에 포함할 가져오기를 정의합니다. 기본적으로 Microsoft.Bot.Builder, Microsoft.Bot.Builder.Dialogs, Microsoft.Bot.Builder.FormFlow, Microsoft.Bot.Builder.FormFlow.Advanced, System.Collections.Generic, System.Linq 네임스페이스가 포함됩니다.

    스키마의 루트 또는 "type" 속성의 피어로 정의된 %Extensions입니다. * Templates:{TemplateUsage: { Patterns:[string, ...], &lt;args&gt; }, ...} -- 템플릿을 정의합니다. * Prompt: { Patterns:[string, ...] &lt;args&gt;} -- 프롬프트를 정의합니다.

    속성 설명에서 JSON 스키마의 "type" 속성에 피어로 있는 %Extensions입니다. * DateTime:bool -- 필드를 DateTime 필드로 표시합니다. * Describe:string -- 에 설명된 대로 필드에 대한 설명입니다 DescribeAttribute. * Terms:[string,...] -- 에 설명된 TermsAttribute대로 필드 값과 일치하기 위한 정규식입니다. * MaxPhrase:int -- 이를 통해 GenerateTerms(String, Int32) 용어를 실행하여 확장합니다. * Values:{ string: {Describe:string, Terms:[string, ...], MaxPhrase}, ...} -- 문자열은 "열거형" 형식에 있어야 하며, 이렇게 하면 자동으로 생성된 설명과 용어를 재정의할 수 있습니다. MaxPhrase가 지정된 경우 용어는 를 통해 GenerateTerms(String, Int32)전달됩니다. * Active:script -- 필드/메시지/확인이 활성 상태인지 확인하기 위해 테스트할 인수가 있는 C# 스크립트(JObject 상태)->bool입니다. * Validate:script -- 인수가 있는 C# 스크립트(JObject 상태, 개체 값)->필드 값의 유효성을 검사하기 위한 ValidateResult입니다. * Define:script -- 필드를 동적으로 정의하기 위한 인수(JObject 상태, 필드<JObject> 필드)가 있는 C# 스크립트입니다. * Before:[confirm|message, ...] -- 포함된 필드 앞의 메시지 또는 확인입니다. * After:[confirm|message, ...] -- 포함된 필드 뒤의 메시지 또는 확인 * {Confirm:script|[string, ...], ...templateArgs} -- 이전/이후에서는 인수가 있는 C# 스크립트(JObject 상태) 또는 선택적 템플릿 인수를 사용하여 임의로 선택되는 패턴 집합을 통해 확인을 정의합니다. * {Message:script|[string, ...] ...templateArgs} -- 이전/이후에서는 인수가 있는 C# 스크립트(JObject 상태) 또는 선택적 템플릿 인수를 사용하여 임의로 선택되는 패턴 집합을 통해 메시지를 정의합니다. * 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: *%Message/확인 프롬프트 작성기를 제외한 모든 스크립트에 대해 현재 필드에 대한 추론을 허용하려면 선택-- 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"> 을 선택합니다. * value -- 유효성 검사에 대해 유효성을 검사할 개체 값입니다. * field -- Field<T> 정의에서 필드를 동적으로 업데이트할 수 있도록 합니다. * context -- IDialogContext OnCompletion에서 결과를 게시할 수 있도록 하는 컨텍스트입니다.

    이 클래스를 통해 정의된 %Fields는 다른 필드와 프로그래밍 방식으로 정의를 확장하거나 재정의하는 동일한 기능을 갖습니다. 또한 같은 방식으로 지역화할 수 있습니다.

생성자

FormBuilderJson(JObject)

JSON 양식 작성기 만들기

필드

_form

JSON 스키마를 통해 또는 프로그래밍 방식으로 메시지, 필드 및 확인을 지정하여 양식을 작성합니다.

(다음에서 상속됨 FormBuilderBase<T>)

속성

Configuration

JSON 스키마를 통해 또는 프로그래밍 방식으로 메시지, 필드 및 확인을 지정하여 양식을 작성합니다.

(다음에서 상속됨 FormBuilderBase<T>)
Schema

JSON 스키마를 통해 또는 프로그래밍 방식으로 메시지, 필드 및 확인을 지정하여 양식을 작성합니다.

메서드

AddRemainingFields(IEnumerable<String>)

JSON 스키마를 통해 또는 프로그래밍 방식으로 메시지, 필드 및 확인을 지정하여 양식을 작성합니다.

Build(Assembly, String)

JSON 스키마를 통해 또는 프로그래밍 방식으로 메시지, 필드 및 확인을 지정하여 양식을 작성합니다.

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

JSON 스키마를 통해 또는 프로그래밍 방식으로 메시지, 필드 및 확인을 지정하여 양식을 작성합니다.

(다음에서 상속됨 FormBuilderBase<T>)
Confirm(PromptAttribute, ActiveDelegate<T>, IEnumerable<String>)

JSON 스키마를 통해 또는 프로그래밍 방식으로 메시지, 필드 및 확인을 지정하여 양식을 작성합니다.

(다음에서 상속됨 FormBuilderBase<T>)
Confirm(String, ActiveDelegate<T>, IEnumerable<String>)

JSON 스키마를 통해 또는 프로그래밍 방식으로 메시지, 필드 및 확인을 지정하여 양식을 작성합니다.

(다음에서 상속됨 FormBuilderBase<T>)
Field(IField<T>)

JSON 스키마를 통해 또는 프로그래밍 방식으로 메시지, 필드 및 확인을 지정하여 양식을 작성합니다.

(다음에서 상속됨 FormBuilderBase<T>)
Field(String, ActiveDelegate<JObject>, ValidateAsyncDelegate<JObject>)

JSON 스키마를 통해 또는 프로그래밍 방식으로 메시지, 필드 및 확인을 지정하여 양식을 작성합니다.

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

JSON 스키마를 통해 또는 프로그래밍 방식으로 메시지, 필드 및 확인을 지정하여 양식을 작성합니다.

(다음에서 상속됨 FormBuilderBase<T>)
Field(String, PromptAttribute, ActiveDelegate<JObject>, ValidateAsyncDelegate<JObject>)

JSON 스키마를 통해 또는 프로그래밍 방식으로 메시지, 필드 및 확인을 지정하여 양식을 작성합니다.

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

JSON 스키마를 통해 또는 프로그래밍 방식으로 메시지, 필드 및 확인을 지정하여 양식을 작성합니다.

(다음에서 상속됨 FormBuilderBase<T>)
Field(String, String, ActiveDelegate<JObject>, ValidateAsyncDelegate<JObject>)

JSON 스키마를 통해 또는 프로그래밍 방식으로 메시지, 필드 및 확인을 지정하여 양식을 작성합니다.

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

JSON 스키마를 통해 또는 프로그래밍 방식으로 메시지, 필드 및 확인을 지정하여 양식을 작성합니다.

(다음에서 상속됨 FormBuilderBase<T>)
HasField(String)

JSON 스키마를 통해 또는 프로그래밍 방식으로 메시지, 필드 및 확인을 지정하여 양식을 작성합니다.

(다음에서 상속됨 FormBuilderBase<T>)
Message(MessageDelegate<T>, ActiveDelegate<T>, IEnumerable<String>)

JSON 스키마를 통해 또는 프로그래밍 방식으로 메시지, 필드 및 확인을 지정하여 양식을 작성합니다.

(다음에서 상속됨 FormBuilderBase<T>)
Message(PromptAttribute, ActiveDelegate<T>, IEnumerable<String>)

JSON 스키마를 통해 또는 프로그래밍 방식으로 메시지, 필드 및 확인을 지정하여 양식을 작성합니다.

(다음에서 상속됨 FormBuilderBase<T>)
Message(String, ActiveDelegate<T>, IEnumerable<String>)

JSON 스키마를 통해 또는 프로그래밍 방식으로 메시지, 필드 및 확인을 지정하여 양식을 작성합니다.

(다음에서 상속됨 FormBuilderBase<T>)
OnCompletion(OnCompletionAsyncDelegate<T>)

JSON 스키마를 통해 또는 프로그래밍 방식으로 메시지, 필드 및 확인을 지정하여 양식을 작성합니다.

(다음에서 상속됨 FormBuilderBase<T>)
Prompter(PromptAsyncDelegate<T>)

JSON 스키마를 통해 또는 프로그래밍 방식으로 메시지, 필드 및 확인을 지정하여 양식을 작성합니다.

(다음에서 상속됨 FormBuilderBase<T>)

적용 대상