Enums Microsoft框架自定义枚举
您好,我正在使用Microsoft Botframework。 我想做一个自定义枚举,如果用户选择了其他,他将输入一个列表中不存在的选项Enums Microsoft框架自定义枚举,enums,botframework,chatbot,Enums,Botframework,Chatbot,您好,我正在使用Microsoft Botframework。 我想做一个自定义枚举,如果用户选择了其他,他将输入一个列表中不存在的选项 Please select value: 1-option1 2-option2 3-other 这可以通过FormFlow的FieldReflector.SetActive完成: [Serializable] public class OptionalFormFlow { public enum Options {
Please select value:
1-option1
2-option2
3-other
这可以通过FormFlow的FieldReflector.SetActive完成:
[Serializable]
public class OptionalFormFlow
{
public enum Options
{
Option1 = 1,
Option2 = 2,
Other = 3
}
public Options Option { get; set; }
public string OtherOption { get; set; }
public string Name { get; set; }
public static IForm<OptionalFormFlow> BuildForm()
{
var built = new FormBuilder<OptionalFormFlow>()
.Field(nameof(Option))
.Field(new FieldReflector<OptionalFormFlow>(nameof(OtherOption))
.SetActive(state => state.Option == Options.Other))
.Field(nameof(Name), "What is your name?")
.AddRemainingFields()
.Confirm("Is this information correct? {*}")
.Build();
return built;
}
}
[可序列化]
公共类OptionalFormFlow
{
公共枚举选项
{
选项1=1,
选项2=2,
其他=3
}
公共选项选项{get;set;}
公共字符串OtherOption{get;set;}
公共字符串名称{get;set;}
公共静态表单BuildForm()
{
var builded=new FormBuilder()
.字段(名称(选项))
.字段(新字段反射器(名称(其他选项))
.SetActive(state=>state.Option==Options.Other))
.Field(nameof(Name),“您叫什么名字?”)
.AddRemainingFields()
.Confirm(“此信息正确吗?{*}”)
.Build();
返修;
}
}
结果: