C#中使用反射遍历一个对象属性及值的小技巧

作者:junjie 时间:2021-12-10 18:15:43 

总结:
对应某个类的实例化的对象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#,反射,遍历,对象,属性,值
0
投稿

猜你喜欢

  • Java递归遍历树形结构的实现代码

    2021-11-15 19:51:59
  • hibernate 命名查询如何实现

    2023-11-04 02:35:41
  • Java ArrayList与LinkedList使用方法详解

    2023-08-12 08:23:46
  • C#基础:Dispose()、Close()、Finalize()的区别详解

    2021-10-22 19:20:23
  • Java对象级别与类级别的同步锁synchronized语法示例

    2023-06-25 09:11:22
  • Java设计模式之装饰者模式详解

    2021-08-16 03:00:17
  • Java经典设计模式之模板方法模式定义与用法示例

    2021-07-09 14:07:49
  • Java基于二叉查找树实现排序功能示例

    2022-09-04 21:50:52
  • C# 委托的三种调用示例(同步调用 异步调用 异步回调)

    2023-06-09 10:29:56
  • 你所不知道的Spring的@Autowired实现细节分析

    2023-11-25 05:40:47
  • Java语言实现Blowfish加密算法完整代码分享

    2023-11-02 21:30:07
  • SpringBoot整合Shiro两种方式(总结)

    2021-09-08 21:28:24
  • Java实现多任务执行助手

    2023-05-17 14:15:30
  • Spring实战之方法级别缓存用法示例

    2022-10-20 02:00:32
  • Mybatis实现SQL存储流程详解

    2022-09-11 05:17:05
  • Java 二分法检索算法代码实现详解

    2022-01-05 19:13:24
  • Java中StringUtils与CollectionUtils和ObjectUtil概念讲解

    2023-11-29 07:45:38
  • Java maven三种仓库,本地仓库,私服,中央仓库的配置

    2023-04-13 12:05:17
  • C#判断字符串中是否包含指定字符串及contains与indexof方法效率问题

    2022-07-06 19:04:51
  • FasfDFS整合Java实现文件上传下载功能实例详解

    2022-05-27 02:30:46
  • asp之家 软件编程 m.aspxhome.com