我是靠谱客的博主 长情啤酒,最近开发中收集的这篇文章主要介绍C#利用反射,遍历获得一个类的所有属性名,以及该类的实例的所有属性的值,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

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

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))
   {
       //进行你想要的操作
   }
}
注意:

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

public int Pid
  {
     get { return pid; }
     set { pid = value; }
  }

最后

以上就是长情啤酒为你收集整理的C#利用反射,遍历获得一个类的所有属性名,以及该类的实例的所有属性的值的全部内容,希望文章能够帮你解决C#利用反射,遍历获得一个类的所有属性名,以及该类的实例的所有属性的值所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部