2017-10-04 22 views
2

我知道我可以依靠系统自动将SummerLineUp显示为“夏季排队”,但我希望对显示的文本进行更多控制以用于我的枚举。enums'在FormDialog中描述属性无法被识别为有效选项

所以我想用的描述属性为友好的显示器,像这样:

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

那些表现出很好的和漂亮,但与验证过程中失败“夏排队不是一个有效的产品类型选项”。

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

回答

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

当用户选择“夏排队”,即实际出现的信息是“产品A”。对于我所需要的,这很好。

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

现在你的机器人会自动理解的价值。“夏排队”为产品A。

+0

这也行!但我做这样的条款: [条款(“夏季排队”,“无论你想要什么”)] – Oyen