迭代类属性

Iterating over class properties(迭代类属性)

本文介绍了迭代类属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试遍历 Color 类的 Color 属性.

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?

推荐答案

是的,可以使用反射.特定颜色被定义为 Color struct 的静态属性.

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
 }

这篇关于迭代类属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:迭代类属性

基础教程推荐