通过 Field 传递 Activity 而不是字符串输入

Pass Activity through Field instead of string input

有没有什么方法可以通过验证委托传递发送的 Activity 而不仅仅是输入字符串?如果可以的话就太棒了。

FormBuilder<BusinessTrip> builder = new FormBuilder<BusinessTrip>();
return builder.Field(nameof(Order.Date), "When did you order the product?", validate: async (state, input) => {
    // Do something.
})

你不能。如果要将数据从 activity 传递到 FormFlow,请使用表单状态来存储它们。您可以在实例化 FormFlow

时将数据传递给状态
var myform = new FormDialog<MyFormState>(new MyFormState(activity.ChannelId, activity.ChannelData), BuildForm, FormOptions.PromptInStart, null);

context.Call<MyFormState>(myform, FormCompleteCallback);