枚举' FormDialog中的Describe属性无法被识别为有效选项

时间:2017-10-04 19:09:27

标签: c# botframework

我知道我可以依靠系统自动将SummerLineUp显示为" Summer Line Up"但是我希望能更好地控制我的枚举显示的文本。

所以我想将Describe属性用于友好的显示,如下所示:

public enum ProductTypeOptions
{
    [Describe("Summer line up")]
    ProductA = 1,
    [Describe("Fall line up")]
    ProductB = 2,
    [Describe("Winter line up")]
    ProductC = 3,
}

那些显示漂亮而漂亮,但在使用&#34进行验证时失败;夏季排队不是有效的产品类型选项"。

我可以使用不同的属性吗?

2 个答案:

答案 0 :(得分:1)

更简单的方法是将Terms装饰添加到ProductTypeOptions每个项目。

所以代码是:

public enum ProductTypeOptions
    {
        [Terms(new string[] { "Summer line up", "Whatever more you want" })]
        [Describe("Summer line up")]
        ProductA = 1,

        [Terms(new string[] { "Fall line up" })]
        [Describe("Fall line up")]
        ProductB = 2,

        [Terms(new string[] { "Winter line up" })]
        [Describe("Winter line up")]
        ProductC = 3,
    };

现在你的机器人会自动理解" Summer line up"作为ProductA。

答案 1 :(得分:0)

通过使用"消息"我最终得到了可以接受的东西。描述的属性:

public enum ProductTypeOptions
{
    [Describe("Summer line up", message: "ProductA")]
    ProductA = 1,
    [Describe("Fall line up", message: "ProductB")]
    ProductB = 2,
    [Describe("Winter line up", message: "ProductC")]
    ProductC = 3,
}

当用户选择" Summer line up"时,显示的实际消息是" ProductA"。对于我的需要,这很好。