17

Color クラスの Color プロパティを繰り返し処理しようとしています。

残念ながら、コレクションには含まれていないため、一連の静的プロパティを持つ単なるクラスです。

クラスのプロパティを静的またはオブジェクトベースで反復処理できるかどうかは誰にもわかりませんか?

4

2 に答える 2

29

はい、リフレクションを使用して可能です。特定の色は、 の静的プロパティとして定義されます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
 }
于 2009-02-21T02:33:41.100 に答える
2

このコードにも興味があるかもしれません

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

名前でプロパティを設定/取得する簡単な方法を提供します。GetBestMatchingPropertyを調べると、プロパティの反復が見つかります。これは、 クラスのプロパティを反復する前に投稿されたのと同じ方法で行われます。

于 2009-02-21T03:01:59.410 に答える