Я пытаюсь перебрать свойства Color класса Color.
К сожалению, его нет в коллекции, поэтому это просто класс со множеством статических свойств.
Кто-нибудь знает, возможно ли перебирать свойства класса, будь то статический объект или объект?
Да, это возможно с помощью отражения. Определенные цвета определяются как статические свойства Color struct.
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 }
Вам также может быть интересен этот код
http://blog.guymahieu.com/2006/07/11/deep-reflection-of-properties-propertyreflector/
Предоставляет простой способ установить / получить свойства по имени. Если вы заглянете в GetBestMatchingProperty, то найдете итерацию по свойствам, которая выполняется так же, как и ранее. Перебор свойств класса