PropertyInfo、FieldInfo、MemberInfo的区别
public class TestClass
{
private int a = ;//私有一律获取不到
public int b
{
get { return ; }
set { value = ; }
}
public int c = ;
} public static void TestMethod()
{
TestClass test = new TestClass();
PropertyInfo[] pro = test.GetType().GetProperties();
FieldInfo[] fil = test.GetType().GetFields();
MemberInfo[] men = test.GetType().GetMembers(); foreach (var item in pro)//仅能获取到b属性(输出b=2)
{
Console.WriteLine("PropertyInfo: " + item.Name +"=" + item.GetValue(test, null));
}
foreach (FieldInfo item in fil)//仅能获取到c字段(输出c=2)
{
Console.WriteLine("FieldInfo: " + item.Name + "=" + item.GetValue(test));
}
foreach (MemberInfo item in fil)//仅能获取到c字段(输出c)
{
Console.WriteLine("MemberInfo: "+ item.Name );
}
}

问题:
[多选] 哪个对象的类型来源于MemberInfo类?()
A . FieldInfo class
B . MethodInfo class
C . Assembly class
D . Type cla
参考答案: A, B, D
参考
PropertyInfo、FieldInfo、MemberInfo的区别的更多相关文章
- Attribute操作的性能优化方式
		
Attribute是.NET平台上提供的一种元编程能力,可以通过标记的方式来修饰各种成员.无论是组件设计,语言之间互通,还是最普通的框架使 用,现在已经都离不开Attribute了.迫于Attribu ...
 - c#注册表对象映射
		
用于快捷保存与读取注册表,为对应的对象 示例 [RegistryRoot(Name = "superAcxxxxx")] public class Abc : IRegistry ...
 - 在Winform开发中使用Grid++报表
		
之前一直使用各种报表工具,如RDLC.DevExpress套件的XtraReport报表,在之前一些随笔也有介绍,最近接触锐浪的Grid++报表,做了一些测试例子和辅助类来处理报表内容,觉得还是很不错 ...
 - 不可不知的表达式树(3)定制IQueryProvider
		
前面我们说到利用表达式树技术实现LINQ-to-SQL,实际上可以针对任何数据源,实现LINQ-to-Everything.这里还涉及到两个重要的接口即IQueryable和IQueryProvide ...
 - C#实现通用数据过滤窗体
		
最近一直在做WINFORM项目,所以经常有些新的想法或尝试与大家分享,之前与大家分享了通用窗体遮罩层.通用可附加数据绑定的DataGridView.窗体渐显,今天来分享一个大家在其它软件中常见的功能: ...
 - 动态编译库 Natasha 5.0 兼容版本发布
		
Natasha 5.0 版本已于 2022/10/10 日发布, 此次大版本更迭带来了兼容性支持, 目前 Natasha 可以兼容 standard2.0 及 coreapp3.1 以上版本. 下载使 ...
 - 浅谈JS中的!=、== 、!==、===的用法和区别  JS中Null与Undefined的区别   读取XML文件   获取路径的方式  C#中Cookie,Session,Application的用法与区别? c#反射  抽象工厂
		
浅谈JS中的!=.== .!==.===的用法和区别 var num = 1; var str = '1'; var test = 1; test == num //tr ...
 - typeof与GetType区别及反射的见解
		
http://www.cnblogs.com/knowledgesea/archive/2013/03/02/2935920.html http://www.cnblogs.com/Jax/archi ...
 - Java和C#基本类库的区别
		
java.lang java .net Boolean System.Boolean Byte System. Byte Character System.Char Class System.Type ...
 
随机推荐
- Mac中如何高亮显示当前git分支以及相关切换系统默认shell操作
			
前言 在开发中对于使用git的同学,肯定会需要高亮显示当前分支,我们今天就来说一种最简单的办法,先来看一下效果图 实现 1.安装item2 https://www.iterm2.com 2.安装oh- ...
 - qtdebug和release加载不同的文件配置
			
win32:CONFIG(release, debug|release): { LIBS +=$$PWD/../../../thirdparty\qwt\lib\qwt.lib LIBS +=$$PW ...
 - ubuntu部署Java、Python开发环境
			
要部署Java开发环境首先就要安装JDK. 一.安装JDK8 1. 下载 jdk-8u172-linux-x64.tar.gz 到 /usr/java8/ 目录下: 2. tar -zxvf jd ...
 - python操作redis用法详解
			
python操作redis用法详解 转载地址 1.redis连接 redis提供两个类Redis和StrictRedis用于实现Redis的命令,StrictRedis用于实现大部分官方的命令,并使用 ...
 - 从分析攻击方式来谈如何防御DDoS攻击
			
DDoS攻击的定义: DDoS攻击全称——分布式拒绝服务攻击,是网络攻击中非常常见的攻击方式.在进行攻击的时候,这种方式可以对不同地点的大量计算机进行攻击,进行攻击的时候主要是对攻击的目标发送超过其处 ...
 - Spring-data-jpa n+1问题
			
Spring-data-jpa的n+1问题 当我们使用JPA提供给我们的find方法时,如果查询出来的对象关联着另外10个对象,那么JPA将会发送1+10次查询(这个对象本身要查询一次,然后每个关联对 ...
 - 一键安装cobbler脚本
			
#!/bin/bash # # Install Cobbler(Kickstart) Tools / # Created by OceanHo(gzhehai@foxmail.com) AT -- # ...
 - nginx的高级配置和优化
			
Nginx的高级配置(优化) 针对内核的配置优化 1)net.core.netdev_max_backlog 表示当网络接口接收数据包的速度大于内核处理这些包块的时候,允许发送到队列的数据包的最大数目 ...
 - nginx的简单介绍
			
nginx简单介绍 Nginx的负载均衡策略可以分两大类:内置策略和扩展侧略: 内置策略包括:轮询,加权轮询,IP hash 扩展策略是:url hash ,fair nginx.conf文件结构 1 ...
 - Python修炼之路-装饰器、生成器、迭代器
			
装饰器 本质:是函数,用来装饰其他函数,也就是为其他函数添加附加功能. 使用情景 1.不能修改被装饰的函数的源代码: 2.不能修改被装饰的函数的调用方式. 在这两种条件下,为函数添加附加 ...