私は、ColorクラスのColorプロパティを反復しようとしています。クラスプロパティを反復する
残念ながらコレクションにはないので、静的なプロパティの束を持つクラスです。
クラスのプロパティを静的またはオブジェクトベースで繰り返し処理できるかどうかは知っていますか?
私は、ColorクラスのColorプロパティを反復しようとしています。クラスプロパティを反復する
残念ながらコレクションにはないので、静的なプロパティの束を持つクラスです。
クラスのプロパティを静的またはオブジェクトベースで繰り返し処理できるかどうかは知っていますか?
はい、反射を使用することは可能です。特定の色は、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/
このコードに興味があるかもしれませんそれは名前で取得/プロパティを設定するための簡単な方法を提供します。 場合(pi.PropertyType == typeof演算(カラー)) へ:あなたはGetBestMatchingPropertyに見える場合は、プロパティの反復処理を見つけることができます、それは私が追加し Iterating over class properties
前に投稿されてと同じように行われていますColorに追加された新しいプロパティに対して未来を証明します。 – ICR