Enum のすべてのオプションをボタンとして一覧表示する動的 GUI を作成したいと考えています。したがって、列挙型をメソッドに渡し、列挙型が取り得るすべてのオプションの文字列配列を取得する方法が必要です。
たとえば、ファイル 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;
}
私がやろうとしていることは可能ですか?この質問の情報に基づいて、いくつかの完全な書き直しを試みました C# enum (コンパイル時の列挙型のサイズ) でセンティナル値を使用しますか? しかし、私はそれを機能させることができませんでした。