今天想要对已有的枚举类型实现映射,将枚举类型存储在list对象中,对于大量的枚举一个一个的存储,未免有点傻。
因此对于枚举类型,遍历存储是最想做的了。
1.通过Enum.GetNames(typeof(DocumentType))获取所有的枚举的名称是一个list;DocumentType是一个枚举对象;
2.通过Enum.Parse(typeof(DocumentType), name)获取每一个枚举类型的值,name是枚举名称;
个人实例代码如下,
枚举对象:
public enum DocumentType
{
Document = 25,
esriDTFeatureDataset = 9,
esriGeometryPolyline = 1,
esriGeometryPolygon = 5,
esriGeometryPiont = 3,
esriGeometryPoint = 3,
esriDTTable = 8,
mdb = 7,
gdb = 7,
xml = 28,
jpg = 19,
bmp = 19,
tif = 17,
docx = 27,
doc = 27,
xlsx = 13,
xls = 13,
txt = 23
}
list对象可通过参数获取值,样式如下 mList["txt"];
//对枚举对象进行遍历,生成list对象
class EnumDataTypeModel
{
public static Hashtable GetIconHashtable()
{
Hashtable ht = new Hashtable();//创建一个Hashtable实例
foreach (string name in Enum.GetNames(typeof(DocumentType)))
{
int v = (int)Enum.Parse(typeof(DocumentType), name);
ht.Add(name, v); //添加keyvalue键值对
}
return ht;
}
}