当前位置:  开发笔记 > 编程语言 > 正文

迭代类属性

如何解决《迭代类属性》经验,为你挑选了1个好方法。

我正在尝试迭代Color类的Color属性.

不幸的是它不在集合中,所以它只是一个带有一堆静态属性的类.

有没有人知道它是否可以迭代一个类的属性是静态的还是基于对象的?



1> arul..:

是的,可以使用反射.特定颜色定义为静态属性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
 }


我会添加:if(pi.PropertyType == typeof(Color))以防止将来添加到Color的任何新属性.
推荐阅读
臭小子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有