Iterating over class properties

2019-01-24 01:44发布

I'm trying to iterate over the Color class' Color properties.

Unfortunately its not in a collection so its just a class with a bunch of static properties.

Does anyone know if its possible to iterate over a class' properties be it static or object based?

2条回答
ら.Afraid
2楼-- · 2019-01-24 01:50

You might also be interested in this code

http://blog.guymahieu.com/2006/07/11/deep-reflection-of-properties-propertyreflector/

It provides an easy way to set/get properties by name. If you look into GetBestMatchingProperty you'll find the iteration over properties, that is done the same way as been posted before Iterating over class properties

查看更多
虎瘦雄心在
3楼-- · 2019-01-24 01:57

Yes, it's possible using reflection. Specific colors are defined as a static properties of the Color struct.

 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
 }
查看更多
登录 后发表回答