böyle bir enum Verilen: Ben bir IEnumerable bana vermesini aşağıdaki kodu kullanıyorumGenerics'i bir enum'dan IEnumerable yapma yöntemi oluşturmak için nasıl kullanabilirim?
public enum City {
London = 1,
Liverpool = 20,
Leeds = 25
}
public enum House {
OneFloor = 1,
TwoFloors = 2
}
:
City[] values = (City[])Enum.GetValues(typeof(City));
var valuesWithNames = from value in values
select new { value = (int)value, name = value.ToString() };
kod ancak oldukça bir sürü için bunu yapmak zorunda çok iyi çalışıyor enums. Bunu yapmanın genel bir yolunu yaratmanın bir yolu var mı?
Sorun, C# genel türlerinde enum 'kısıtlamalarına izin vermemesidir. Jon Skeet'in [kısıtsız melodisini] (http://code.google.com/p/unconstrained-melody/) kullanabilirsiniz. – Adam
Sadece IEnumerable'a ihtiyacınız varsa çalışma zamanında kullanabilirsiniz. Aksi takdirde [templating] (http://msdn.microsoft.com/en-us/library/bb126445.aspx) VE yansımasını kullanmayı düşünebilirsiniz. – Guillaume