我想創建一個動態GUI,將所有Enum的選項列爲按鈕。所以,我需要一種方法將Enum類型傳遞給方法,並獲取枚舉類型可以包含的所有選項的字符串數組。如何返回包含Enum值的字符串[]
例如,給定一個枚舉聲明在文件Foo.cs:
public Enum Fruits {
Apple,
Orange,
Peach
};
public class Foo { ... }
我想這回:
{ "Apple", "Orange", "Peach" }
我走過的幾個代碼置換了。現在,我有以下的,但我得到一個錯誤「類型或命名空間名稱enumeratedType「無法找到」
public static string[] EnumToStringArray (System.Type enumeratedType) {
int enumSize = sizeof(enumeratedType);
string[] enumStrings = new string[enumSize];
for (int i = 0 ; i < enumSize ; i++) {
enumStrings[i] = enumeratedType.getValues()[i].toString();
}
return enumStrings;
}
是什麼,我試圖做可能嗎?根據此問題中的信息,我嘗試了幾次完整的重寫Using sentinal values in C# enum (size of enum at compile time)?,但我無法使其工作。
'Enum.GetNames(typeof(Fruits));' –
這可能是使用反射和PropertInfo類來列出東西的情況 – Stokedout
很酷,謝謝亞歷山大!完美的答案! –