这是一个类似于“如何在机器人框架 C# 中使用枚举类别和子类别? ”的问题,至少在如何做你需要的事情上。
使用 FormBuilder,您可以动态定义您的表单。FormBuilder 的完整文档在这里。
回顾上一个 StackOverlfow 答案,您使用 FieldReflector 并允许您设置异步委托。在该委托中,您将根据 state.Country 值构建城市列表。它看起来像这样:
public static IForm<Offices> BuildForm()
{
return new FormBuilder<Offices>()
.Message("Welcome!")
.Field(nameof(Country))
.Field(new FieldReflector<Offices>(nameof(Office))
.SetType(null)
.SetDefine(async (state, field) =>
{
//// Define your Officelogic here
switch (state.Country)
{
Country.Dubai:
////logic to add Dubai city
break;
Country.UAE:
////logic to add UAE cities
break;
default:
break;
}
return true;
}))
.Build();
}