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方法的属性,反射才能获得该属性

转载于:https://www.cnblogs.com/xishuqingchun/p/3803116.html

C#利用反射机制,获取实例的属性和属性值相关推荐

  1. android 巧妙利用反射机制获取控件id,避免大量冗杂的findviewbyid和butterknife注解

    android 巧妙利用反射机制获取控件id,避免大量冗杂的findviewbyid和butterknife注解 一.反射机制概述 Java 反射机制是在运行状态中,对于任意一个类,都能够获得这个类的 ...

  2. 利用反射机制获取未知类型的枚举的信息

    原文:利用反射机制获取未知类型的枚举的信息 开发游戏设置选项遇到一个问题,我有两个枚举,一个是屏幕分辨率,一个是语言 我需要在不知道一个枚举到底是哪一个枚举类型的情况下,获取这个枚举的值以及这个枚举类 ...

  3. 通过java反射机制获取该类的所有属性类型、值。

    转自:http://blog.sina.com.cn/s/blog_3c62c21f01011xci.html 方法使用了这俩个包下的 field 和method import java.lang.r ...

  4. java判断对象无数据_java利用反射机制判断对象的属性是否为空以及获取和设置该属性的值...

    1.java利用反射机制判断对象的属性是否为空: Map validateMap = new LinkedHashMap(); validateMap.put("serial", ...

  5. java 反射修改final变量_Java中final的属性值怎么利用反射机制进行修改

    Java中final的属性值怎么利用反射机制进行修改 发布时间:2020-12-02 17:31:07 来源:亿速云 阅读:96 作者:Leah 今天就跟大家聊聊有关Java中final的属性值怎么利 ...

  6. android利用反射调用截屏api,Android利用反射机制调用截屏方法和获取屏幕宽高的方法...

    想要在应用中进行截屏,可以直接调用 View 的 getDrawingCache 方法,但是这个方法截图的话是没有状态栏的,想要整屏截图就要自己来实现了. 还有一个方法可以调用系统隐藏的 screen ...

  7. kettle job如何利用java的反射机制获取执行的sql语句

    kettle job中的JavaScript如何获取同一个job中SQL步骤的执行语句并让执行语句记录在日志中呢?首先写日志需要用到job中JavaScript写日志的方法,其次是利用java反射机制 ...

  8. php引用公有类方法_php利用ReflectionClass反射机制获取类public公有方法

    今天遇到了一个有趣的问题,在thinkphp中设定控制器路由的时候,必须要使用getfunc postfunc 如图: 而我不想要 get post 这些前缀 在php中通过反射机制获取类的方法,然后 ...

  9. java反射之获取class对象,Java之反射机制(获取Class对象的三种方式)

    Java之反射机制(获取Class对象的三种方式) 开发工具与关键技术:MyEclipse 10,java 作者:刘东标 撰写时间:2019-06-14 如何得到各个字节码对应的实例对象? 每个类被加 ...

  10. C++ 反射机制(实例讲解)

    前面理论较多,可直接跳转到最后一个实例看一下反射机制的调用流程. 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态 ...

最新文章

  1. tac rev cat命令使用范例
  2. 一凌网抢攻在线市场 移动办公引领管理新热潮
  3. 电气:通过转移因子算法求解潮流
  4. 【Linux】Linux中at命令详解
  5. [CareerCup] 13.10 Allocate a 2D Array 分配一个二维数组
  6. 4/7 SELECT语句:过滤(组合WHERE子句)
  7. Tomcat 使用apr优化
  8. 推荐系统经典论文学习
  9. win7 64 位用VMware安装Ubantu 20130908
  10. laravel 图片流_Laravel 之添加图片水印
  11. java获取页面点击次数_在Java中怎样得出一个按钮点击的次数
  12. python三种等待方式_Python selenium 三种等待方式详解
  13. Win10电脑定时关机无效怎么办
  14. sqlite3 not found问题解决方法
  15. mysql常用数据操作之查
  16. Linux locale
  17. 面试必备:Zack 大佬带您深入Spring MVC DispatchServlet 源码分析
  18. 区块链改进身份和访问管理技术(IAM)的10种方式
  19. 平台sdk和项目sdk的理解
  20. WifiManager详解

热门文章

  1. Fov手术会不会在手术中新增手术边界
  2. flink背压问题处理(还没弄完)
  3. 大数据组件需要额外添加的依赖包汇总(持续更新中)
  4. ERROR: ld.so: object 'libgtk3-nocsd.so.0' from LD_PRELOAD cannot be preloaded
  5. 5.11 加权Gram-Schmidt 分解
  6. 云计算论文集, Spark, 数据描述语言, 运维工具集
  7. 【机器学习】支持向量机面试知识点小结
  8. 梅森增益matlab求解,梅森公式互不接触回路及其增益
  9. python心得体会200字_50行代码让python自动生成文章
  10. mysql8 php7_在centos7安装nginx+mysql8+php7(LNMP)