C#利用反射,遍历获得一个类的所有属性名,以及该类的实例的所有属性的值

用反射,遍历获得一个类的所有属性名,以及该类的实例的所有属性的值

转自goldeneyezhang原文 C#利用反射,遍历获得一个类的所有属性名,以及该类的实例的所有属性的值

 

C#利用反射,遍历获得一个类的所有属性名,以及该类的实例的所有属性的值总结:

 

对应某个类的实例化的对象tc, 遍历获取所有属性(子成员)的方法(采用反射):

C#利用反射,遍历获得一个类的所有属性名,以及该类的实例的所有属性的值
Type t = tc.GetType();//获得该类的Type

//再用Type.GetProperties获得PropertyInfo[],然后就可以用foreach 遍历了
foreach (PropertyInfo pi in t.GetProperties)
{
  object value1 = pi.GetValue(tc, null));//用pi.GetValue获得值
  string name = pi.Name;//获得属性的名字,后面就可以根据名字判断来进行些自己想要的操作
  //获得属性的类型,进行判断然后进行以后的操作,例如判断获得的属性是整数
  if(value1.GetType() == typeof(int))
  {
  //进行你想要的操作
  }
}
C#利用反射,遍历获得一个类的所有属性名,以及该类的实例的所有属性的值

注意:

必须要设置了get 和set方法的属性,反射才能获得该属性

1
2
3
4
5
public int Pid
{
get return pid; }
set { pid = value; }
}

 

 

 

 

没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的*、好奇、充满创造力的想法被现实的框架所束缚,让创造力*成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。

    本文转自wenglabs博客园博客,原文链接:http://www.cnblogs.com/arxive/p/6746477.html,如需转载请自行联系原作者

上一篇:打印九九乘法表 | python从入门到精通:入门篇之十八


下一篇:break和continue | Python从入门到精通:入门篇之十九