2017-10-04 19 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

相關問題