我的FormDialog有LUIS entities bound to the state。
public abstract class AbstractFormDialog
{
[Optional]
public string Entity1;
[Optional]
public string Entity2;
[Optional]
public string Entity3;
[Optional]
public string Entity4;
[Optional]
public string Entity5;
}
在AbstractFormDialog的子类中,我希望能够说这些实体中的一些是必需的,所以"没有偏好"不是一种选择。像
这样的东西public abstract class FormDialog1 : AbstractFormDialog
{
[Required]
public string Entity1;
[Required]
public string Entity2;
}
有人知道这是否可行?当然,我可以在基类中创建所需的所有属性,然后在扩展它的每个类中,列出哪些实体实际上是可选的。这种设计很糟糕,因为如果要添加一个新的实体,则每个子类都需要更新。
答案 0 :(得分:1)
您还可以在构建表单时在运行时使用Field API来控制它,即 新的FormBuilder() .Field(new FieldReflector(nameof(FormDialog1.Entity1)) .SetOptional(假)) 。建立(); 这将使此实例的Entity1字段为“必需”。