这篇文章主要介绍了C#中使用反射遍历一个对象属性及值的小技巧,这在很时候应该都非常有用,本文直接给出实例代码,需要的朋友可以参考下twfHTML5中文学习网 - HTML5先行者学习网
总结:twfHTML5中文学习网 - HTML5先行者学习网
对应某个类的实例化的对象tc, 遍历获取所有属性(子成员)的方法(采用反射):twfHTML5中文学习网 - HTML5先行者学习网
代码如下:twfHTML5中文学习网 - HTML5先行者学习网
Type t = tc.GetType();//获得该类的TypetwfHTML5中文学习网 - HTML5先行者学习网
//再用Type.GetProperties获得PropertyInfo[],然后就可以用foreach 遍历了twfHTML5中文学习网 - HTML5先行者学习网
foreach (PropertyInfo pi in t.GetProperties())twfHTML5中文学习网 - HTML5先行者学习网
{twfHTML5中文学习网 - HTML5先行者学习网
object value1 = pi.GetValue(tc, null));//用pi.GetValue获得值twfHTML5中文学习网 - HTML5先行者学习网
string name = pi.Name;//获得属性的名字,后面就可以根据名字判断来进行些自己想要的操作twfHTML5中文学习网 - HTML5先行者学习网
//获得属性的类型,进行判断然后进行以后的操作,例如判断获得的属性是整数twfHTML5中文学习网 - HTML5先行者学习网
if(value1.GetType() == typeof(int))twfHTML5中文学习网 - HTML5先行者学习网
{twfHTML5中文学习网 - HTML5先行者学习网
//进行你想要的操作twfHTML5中文学习网 - HTML5先行者学习网
}twfHTML5中文学习网 - HTML5先行者学习网
}twfHTML5中文学习网 - HTML5先行者学习网
注意:twfHTML5中文学习网 - HTML5先行者学习网
必须要设置了get 和set方法的属性,反射才能获得该属性twfHTML5中文学习网 - HTML5先行者学习网
代码如下:twfHTML5中文学习网 - HTML5先行者学习网
public int PidtwfHTML5中文学习网 - HTML5先行者学习网
{twfHTML5中文学习网 - HTML5先行者学习网
get { return pid; }twfHTML5中文学习网 - HTML5先行者学习网
set { pid = value; }twfHTML5中文学习网 - HTML5先行者学习网
}twfHTML5中文学习网 - HTML5先行者学习网