1

我有一个将LUIS 实体绑定到 state的 FormDialog 。

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;
}

有谁知道这是否可能?当然,我可以在基类中设置所有必需的属性,然后在扩展它的每个类中,列出哪些实体实际上是可选的。不过这种设计很糟糕,因为如果要添加一个新实体,每个子类都需要更新。

4

1 回答 1

1

您还可以在构建表单时在运行时使用 Field API 来控制这一点,即 new FormBuilder() .Field(new FieldReflector(nameof(FormDialog1.Entity1)) .SetOptional(false)) .Build(); 这将使该实例的 Entity1 字段为“必需”。

于 2016-06-24T22:31:40.290 回答