封裝了方法:
public static class enumoperate
public basedescriptionattribute(string descriptioncn, string descriptionen)
: base(descriptioncn)
private string descriptionen;
public string descriptionen
set }}
/// /// 擴充套件方法,獲得列舉的description中英文
public static enumitem getbasedescription(this enum value, boolean nameinstead = true)
fieldinfo field = type.getfield(name);
basedescriptionattribute attribute = attribute.getcustomattribute(field, typeof(basedescriptionattribute)) as basedescriptionattribute;
e.enumkey = convert.toint32(value);
e.enumvalue = value.tostring();
if (attribute == null && nameinstead == true)
else
}/// /// 擴充套件方法,獲得列舉的description
///
/// 列舉值
/// 當列舉值沒有定義descriptionattribute,是否使用列舉名代替,預設是使用
/// 列舉的description
public static string getdescription(this enum value, boolean nameinstead = true)
fieldinfo field = type.getfield(name);
descriptionattribute attribute = attribute.getcustomattribute(field, typeof(descriptionattribute)) as descriptionattribute;
if (attribute == null && nameinstead == true)
return attribute == null ? null : attribute.description;
}/// /// 把列舉轉換為鍵值對集合
/// 列舉轉換為鍵值對集合
/// dictionarydic = enumutil.enumtodictionary(typeof(season), e => e.getdescription());
///
/// 列舉型別
/// 獲得值得文字
/// 以列舉值為key,列舉文字為value的鍵值對集合
public static dictionaryenumtodictionary(type enumtype, funcgettext)
dictionaryenumdic = new dictionary();
array enumvalues = enum.getvalues(enumtype);
foreach (enum enumvalue in enumvalues)
return enumdic;
}/// /// 獲取列舉的相關資訊
///
/// 列舉的型別
///
public static listgetenumitems(type e)
return itemlist;
}public class enumitem
public string enumvalue
public string descriptioncn
public string descriptionen
}}
列舉:
//港口型別
public enum harbortype
使用:
static void main(string args)
獲取列舉文字值和描述資訊, 列舉轉字典
string name enum.getname value.gettype value 列舉文字值 aa c aa enum.parse typeof aa str 字串轉列舉 返回列舉項的描述資訊。要獲取描述資訊的列舉項。列舉想的描述資訊。public static string getdesc...
獲取列舉 描述
列舉的定義在程式開發中十分方便 net 支援列舉使用中文 比如 public enum enumispaytype 如果需要返回漢字的時候 public int32?paytype public string e paytype return string empty 但是,在比較規範的列舉使用中,...
C 獲取列舉型別中所有描述資訊
1.應用的命名空間 using system.componentmodel using system.reflection 2 定義列舉類 列舉類1 public enum bagtype 23 獲取列舉類所有屬性的描述資訊 獲取描述資訊方法 1 public void getenumdesc tt...