このような列挙型を考える:しかし、私は非常に多くのためにこれをしなければならないGenericsを使用してIEnumerableを列挙型にする方法を作成するにはどうすればよいですか?
City[] values = (City[])Enum.GetValues(typeof(City));
var valuesWithNames = from value in values
select new { value = (int)value, name = value.ToString() };
コードは非常に良い作品:
public enum City {
London = 1,
Liverpool = 20,
Leeds = 25
}
public enum House {
OneFloor = 1,
TwoFloors = 2
}
私は私のIEnumerableを与えるために、次のコードを使用していますenums。これを行う一般的な方法を作成する方法はありますか?
問題は、C#ではジェネリック型に 'enum'制約が認められないということです。あなたはJon Skeetの[拘束されていないメロディ](http://code.google.com/p/unconstrained-melody/)を使うことができます。 – Adam
実行時にのみ 'IEnumerable'が必要な場合は、リフレクションを使用できます。そうでなければ、[templating](http://msdn.microsoft.com/en-us/library/bb126445.aspx)とリフレクションの使用を検討することもできます。 – Guillaume