2010-06-18 185 views
0

比方說,我有一個函數需要一個字符串。該字符串包含枚舉類型的完整名稱(例如「MyCompany.Area.AotherNamespace.MyEnum」)。C#枚舉/反射

如何創建一個字符串數組(或List<string>),其元素是MyCompany.Area.AotherNamespace.MyEnum的值?

這可能嗎?

我基本上試圖序列化枚舉類型serverside,然後在客戶端JavaScript中輸出它,所以我不必在兩個地方定義一個枚舉 - 在我的C#和JavaScript中。

+5

您的用戶名讓我太難過了,無法形成答案... – jball 2010-06-18 21:57:28

回答

7
Type type = Type.GetType(yourStringWithTheFullEnumName); 
string[] valueNames = Enum.GetNames(type); 

這在Silverlight(也可能是Compact Framework)中不起作用。如果你在一個「另類」CLR中工作,那麼你可以通過一點思考得到相同的效果。