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?
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
}
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With