C#反射:PropertyInfo、FieldInfo和MemberInfo的区别
第一次接触反射机制,不是很理解PropertyInfo、FieldInfo和MemberInfo的区别
现在做一个实验,和大家分享下实验结果
首先定义测试类
public class ttt
{public int test = 6;private int privateTest = 5;public string pubStr = "ceshi";public string pubSetStr { get; set; } = "ceshi2";
}
接下来获取该类的Type,以及PropertyInfo、FieldInfo和MemberInfo,代码如下:
Type tt = typeof(ttt);
//var obj = gameObject.AddComponent(tt) ; //继承mono需要addcomponent创建
//var obj2 = Activator.CreateInstance(tt);//普通类创建
TypeInfo tf = tt.GetTypeInfo();
MemberInfo[] ml = tt.GetMembers();
PropertyInfo[] pl = tt.GetProperties();
FieldInfo[] fl = tt.GetFields();
接下来查看每个列表内的数据:
MemberInfo数组:
PropertyInfo数组:
FieldInfo数组:
总结(个人理解,有错误的话欢迎指出):
PropertyInfo 仅限于带有get,set 的成员变量,称为属性
FieldInfo public的成员变量,并且不是property
MemberInfo 首先是FieldInfo和PropertyInfo的集合,另外包含了该Type所包含的函数。
共同点是private的 成员变量都没有出现
随便贴个MethodInfo的图:
C#反射:PropertyInfo、FieldInfo和MemberInfo的区别相关推荐
- 反射PropertyInfo.GetValue()取值抛出需使用DBNull的异常
帮朋友改代码,在一个DataTable转换.csv的公共类中碰到这个问题. 借鉴这里的问答:这里的问答:反射PropertyInfo.GetValue(对象)抛出DBNull异常 - VoidCC 朋 ...
- C#中反射和动态关键字有什么区别?
目录 介绍 什么是反射以及我们为什么需要它? 我们如何实现反射? 第1步 第2步 反射的实际用途是什么? Dynamic关键字的用途是什么? Dynamic关键字的实际用途是什么? 反射和Dynami ...
- java 反射getmethod_Java 反射机制中 getMethod()和getDeclaredField()区别
今天在程序中用到java反射机制时,遇到的问题记录一下:我当时遇到的问题是,我用反射getMethod()调用类方法时,发生 NoSuchMethodException异常,后来上网发现getMeth ...
- java class.getmethod_java反射之Class.getMethod与getDeclaredMethods()区别
Class对象的getMethods和getDeclaredMethods都是获取类对象的方法.但是又有所不同.废话不多说, 先看demo packagecom.westward;public cla ...
- C#秘密武器之反射——基础篇
先来一段有用的反射代码 namespace Calculator { public interface Iwel { String Print(); } } namespace Calculator ...
- 自己动手之使用反射和泛型,动态读取XML创建类实例并赋值
前言: 最近小匹夫参与的游戏项目到了需要读取数据的阶段了,那么觉得自己业余时间也该实践下数据相关的内容.那么从哪入手呢?因为用的是Unity3d的游戏引擎,思来想去就选择了C#读取XML文件这个小功能 ...
- C#学习-程序集和反射
准备项目 1.新建一个空的解决方案MyProj.sln 2.在该解决方案下,建一个控制台项目P01.csproj 3.在该项目下,自己新建一个类MyFirstClass.cs 查看解决方案MyProj ...
- 为什么 .NET 的反射这么慢?
大家都知道 .NET 的反射很慢,但是为什么会出现这种情况呢?这篇文章会带你寻找这个问题的真正原因. CLR 类型系统的设计目标 原因之一是,在设计的时候反射本身就不是以高性能为目标的,可以参考Typ ...
- Java反射机制Reflection
Java反射机制 1 .class文件 2 Class类 3 Class类与反射机制 4 Java反射机制的类库支持及简介 5 反射机制的定义与应用 6 反射机制Demo Java反射机制demo(一 ...
最新文章
- redis怎么不让存byte_redis用bitfield存储的问题
- CentOS Linux 7 安全基线设置
- 使用 /proc 文件系统来访问 Linux 内核的内容
- pd16.5生成mysql列说明_PowerDesigner16逆向工程生成PDM列注释(My Sql5.0模版)
- 网络设备中的交换机(Switch)是什么?—Vecloud微云
- c 一般处理程序 ajax,Ajax调用一般处理程序数据
- ubuntu16.04 nginx安装
- thinkpad笔记本散热风扇_极致的散热体验,ORICO 全铝DIY双风扇笔记本散热垫评测...
- 国家开放大学2021春1032成本管理题目
- 人是什么垃圾?AI识别功能用到垃圾分类上时 网友试了试“扫自己”
- 图论--有向图强连通分量的标记及缩点模板
- 2021年,某云盘最新版不限速下载工具教程,亲测有效!
- 房产中介管理系统的开发(附源码)
- android 全屏时钟,手机全屏数字时钟软件
- 微信红包,企业付款到零钱报错:此IP地址不允许调用接口,如有需要请登录微信支付商户平台更改配置 的原因
- 浅谈老妈的QQ号被盗之后
- Logstash mutate 插件
- 走近国内同人游戏开发者 一探游戏开发的喜与悲
- 君澜2021第一季度新开业酒店数量居世界酒店集团排名第六
- Macbook Pro(无法完全)通过序列号与激活时间辨别是否为翻新机