2013-08-05 38 views

回答

1

您可以使用反射來做到這一點

List<KeyValuePair<string, object>> GetEnumInfo(string name) 
{ 
    var type = Type.GetType(name); 
    return Enum.GetValues(type) 
      .Cast<object>() 
      .Select(v => new KeyValuePair<string, object>(Enum.GetName(type, v), v)) 
      .ToList(); 
} 
1

是的,你可以訪問一個枚舉的名稱和值,如果你知道的類型。例如看到下面的代碼片段:

string enumTypeName = "qualified enum type name"; 

var enumType = Type.GetType(enumTypeName); 

var values = Enum.GetValues(enumType); 
var names = Enum.GetNames(enumType); 

現在你可以很容易地遍歷valuesnames

0
Enum.GetValues(Type.GetType(yourEnumName, true, true));