我想创建一个动态 GUI,将 Enum 的所有选项列为按钮。因此,我需要一种将 Enum 类型传递给方法并取回包含 enum 类型可以是的所有选项的字符串数组的方法。
例如,给定文件 Foo.cs 中的 Enum 声明:
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)? 但我无法让它工作。