转载自:https://blog.csdn.net/nutian/article/details/3461311

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; }
  }
--------------------- 
作者:nutian 
来源:CSDN 
原文:https://blog.csdn.net/nutian/article/details/3461311 
版权声明:本文为博主原创文章,转载请附上博文链接!

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

  1. Java利用反射动态加载类实战

    package com.web.common.utility.reflector; import java.io.Serializable; import java.lang.reflect.Cons ...

  2. 写出一个类People,并由该类做基类派生出子类Employee和Teacher

    写出一个类People,并由该类做基类派生出子类Employee和Teacher.其中People 类具有name.age两个保护成员变量,分别为String类型.整型,且具有公有的getAge成员函 ...

  3. 利用反射机制创建新类的两种方式及比较

    [0]README 0.1) 本文描述+源代码均 转自 http://blog.csdn.net/fenglibing/article/details/4531033 , 旨在深入理解 如何利用反射机 ...

  4. java反射出抽象类的实现类_java利用反射模式调用实现类

    本文主讲,java利用反射模式调用接口的实现类.抽象类的继承子类.下面请听一一道来 1.第一步在src下创建com.newer.reflex包 2.在com.newer.reflex包下面建立IRef ...

  5. JAVA利用反射模式调用实现类

    本文主讲,利用反射模式调用接口的实现类.抽象类的继承子类.下面请听屌丝一一道来 1.第一步在src下创建 com.newer.reflex包 2.在com.newer.reflex包下面建立 IRef ...

  6. 单例模式(全局地提供了一个类的唯一对象,该类的对象只创建一次,避免了创建类对象的开销)

    单例模式全局地提供了一个类的唯一对象,而且类的对象只需要创建一次,避免了创建类的对象开销 代码 single.h #ifndef HEADFILE #define HEADFILE#include & ...

  7. java遍历一个类的属性名,java遍历对象属性

    java对象动态添加属性,Class对象和Java反射机制,java遍历对象属性,js对象动态添加属性 java 对象动态添加属性,Class对象和Java反射机制,java遍历对象属性,js对象动态 ...

  8. python遍历获取一个类的所有子类

  9. C#利用反射机制,获取实例的属性和属性值

    C#利用反射,遍历获得一个类的所有属性名,以及该类的实例的所有属性的值 对应某个类的实例化的对象tc, 遍历获取所有属性(子成员)的方法(采用反射): Type t = tc.GetType();// ...

  10. 利用反射实现类的动态加载

    为什么80%的码农都做不了架构师?>>>    //首先定义一个接口来隔离类: public interface Operator { // public java.util.Lis ...

最新文章

  1. 计算一下你的“手指率”
  2. 用python写数字_用python 写游戏之数字华容道
  3. 锚文本对网站SEO优化有什么帮助?
  4. Kaggle狗的种类识别竞赛——基于Pytorch框架的迁移学习方法
  5. 排序算法_桶排序(箱排序)
  6. Linux下实现视频读取(二)---camera參数设定
  7. C++ STL学习笔记(5) Vector容器, array容器,deque容器
  8. R语言︱非结构化数据处理神器——rlist包
  9. 雨棚板弹性法计算简图_旌阳移动推拉雨棚移动蓬定制
  10. Shiro笔记(四)编码/加密
  11. multisim中pwl_Multisim 14电路设计与仿真
  12. Docker镜像下载到本地及恢复
  13. python--mysql创建数据库
  14. Thinkpad T410i升级问题
  15. 数据学习(十)-假设检验
  16. JDBCDataSource
  17. 腾讯云主机SSH连接不上如何解决
  18. SQL Server的数据库文件保存在哪儿?
  19. PyDev Eclipse使用技巧说明
  20. vue读取文件夹下面的文件名称

热门文章

  1. 【数据分析】基于matlab GUI学生成绩查询系统【含Matlab源码 604期】
  2. 【特征提取】基于matlab语音端点检测【含Matlab源码 552期】
  3. 【心电信号】基于matlab GUI心电信号数字滤波处理【含Matlab源码 1067期】
  4. oracle实际是什么意思,Oracle遇到的应用实际教程
  5. refprop用matlab,Matlab 调用 REFPROP(64位)下载即可用
  6. moba的m是什么意思_moba游戏是什么
  7. mysql重复执行命令_mysql----------mysql的一些常用命令
  8. polar函数--Matplotlib
  9. U盘插入电脑有明显的响声但是不显示盘符
  10. windows下python xgboost 安装方法以及安装了xgboost,pycharm却不能自动补全问题解决