下記のコードでenumに定義された値の一覧を取得できます。
// MyEnumの部分を一覧を取得したいenumに書き換えてください。
var enums = Enum.GetValues(typeof(MyEnum)).Cast<MyEnum>();
// ループしてプリントしてみる。
foreach (var @enum in enums)
{
Console.WriteLine(@enum.ToString());
}
ちなみにコード内の「@」はC#の予約語を変数名で使えるようにするためのものです。
さらに下記のようGenericsを使って一般化したメソッドを定義できます。
public static IEnumerable<T> IterateEnum<T>() where T : Enum => Enum.GetValues(typeof(T)).Cast<T>();
コメント