標題可能無法表達我的本意。比如,有這樣一個枚舉:
public enum MyChoice{MyFirstChoice = 0,MySecondChoice =1,MyThirdChoice = 2}
數據庫中,某表某字段保存值為"0,1,2",在顯示的時候,我們希望是"第一個選擇,第二個選擇,第三個選擇"。如何做呢?
可以為枚舉項上面標注自定義特性。先自定義一個特性如下:
public class EnumDisplayNameAttribute : Attribute{PRivate string _displayName;public EnumDisplayNameAttribute(string displayName){_displayName = displayName;}public string DisplayName{get{return _displayName;}}}
然后,把自定義特性標注放到枚舉項上去。
public enum MyChoice{[EnumDisplayName("我的第一個選擇")]MyFirstChoice = 0,[EnumDisplayName("我的第二個選擇")]MySecondChoice =1,[EnumDisplayName("我的第三個選擇")]MyThirdChoice = 2}
現在,需要一個幫助方法,能讀出枚舉項上的自定義特性EnumDisplayName。
public class EnumExt{/// <summary>/// 獲取枚舉項的注釋/// </summary>/// <param name="e">枚舉項</param>
新聞熱點
疑難解答