文档章节

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

SunHacker
 SunHacker
发布于 2016/04/21 16:16
字数 280
阅读 568
收藏 0

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

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

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

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


© 著作权归作者所有

共有 人打赏支持
SunHacker
粉丝 5
博文 32
码字总数 40047
作品 0
深圳
程序员
私信 提问
接触C# 反射

1、反射的概念详解[1] 1.1 理解C#中的反射 1、B超:大家体检的时候大概都做过B超吧,B超可以透过肚皮探测到你内脏的生理情况。这是如何做到的呢?B超是B型超声波,它可以透过肚皮通过向你体内...

橘子红了呐
2017/11/07
0
0
详解C#中的反射

反射(Reflection) 2008年01月02日 星期三 11:21 两个现实中的例子: 1、B超:大家体检的时候大概都做过B超吧,B超可以透过肚皮探测到你内脏的生理情况。这是如何做到的呢?B超是B型超声波,...

乐逍遥jun
2016/02/22
29
0
什么是反射?

①什么是反射? 反射提供了封装程序集、模块和类型的对象。 您可以使用反射动态地创建类型的实例(见④ ),将类型绑定到现有对象(这个不会),或从现有对象中获取类型(见②③ )。然后,可以调用...

晨曦之光
2012/05/16
98
0
C#语法——反射,架构师的入门基础。

前言 编程其实就是写代码,而写代码目的就是实现业务,所以,语法和框架也是为了实现业务而存在的。因此,不管多么高大上的目标,实质上都是业务。 所以,我认为不要把写代码上升到科学的高度...

kiba518
2018/08/27
0
0
C#反射 Reflection学习随笔(完结篇)_AX

①什么是反射? 反射提供了封装程序集、模块和类型的对象。 您可以使用反射动态地创建类型的实例(见④ ),将类型绑定到现有对象(这个不会),或从现有对象中获取类型(见②③ )。然后,可以调用...

老朱教授
2017/08/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

java框架学习日志-13(Mybatis基本概念和简单的例子)

在mybatis初次学习Mybatis的时候,遇到了很多问题,虽然阿里云的视频有教学,但是视频教学所使用的软件和我自己使用的软件不用,我自己用的数据库是oracle数据库,开发环境是idea。而且视频中...

白话
16分钟前
1
0
Java基础:String、StringBuffer和StringBuilder的区别

1 String String:字符串常量,字符串长度不可变。Java中String是immutable(不可变)的。 String类的包含如下定义: /** The value is used for character storage. */private final cha...

watermelon11
42分钟前
2
0
mogodb服务

部署MongoDB 官网: https://www.mongodb.com/download-center/community 创建mongo数据目录 mkdir /data/mongodb 二进制部署 wget -c https://fastdl.mongodb.org/linux/mongodb-linux-x8......

以谁为师
昨天
5
0
大神教你Debian GNU/Linux 9.7 “Stretch” Live和安装镜像开放下载

Debian项目团队于昨天发布了Debian GNU/Linux 9 "Stretch" 的第7个维护版本更新,重点修复了APT软件管理器中存在的安全漏洞。在敦促每位用户尽快升级系统的同时,Debian团队还发布了Debian ...

linux-tao
昨天
4
0
PHP 相关配置

1. php-fpm的pool 编辑php-fpm配置文件php-fpm.con vim /usr/local/php/etc/php-fpm.conf //在[global]部分增加以下内容 include = etc/php-fpm.d/*.conf # 相当与Nginx的虚拟主机文件 “vho......

Yue_Chen
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部