2009-02-21 29 views
17

Renk sınıfının Renk özellikleri üzerinde yinelemeye çalışıyorum.Sınıf özellikleri üzerinde yineleme

Ne yazık ki bir koleksiyonda değil, onun bir grup statik özellikleri olan bir sınıf.

Sınıfın üzerinde yineleme yapılıp yapılamayacağını öğrenmek için statik veya nesne tabanlı özellikler mi var?

cevap

29

Evet, yansıma kullanmak mümkündür. Belirli renkler, Color struct'un statik özellikleri olarak tanımlanır.

PropertyInfo[] colors = typeof(Color).GetProperties(BindingFlags.Static|BindingFlags.Public); 
foreach(PropertyInfo pi in colors) { 
    Color c = (Color)pi.GetValue(null, null); 
    // do something here with the color 
} 
+6

önce gönderilmiş aynı şekilde yapılır Color'a eklenen herhangi bir yeni özelliğe karşı geleceğe dayanıklı. – ICR

İlgili konular