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

参考

[整理]C#反射(Reflection)详解

PropertyInfo、FieldInfo、MemberInfo的区别的更多相关文章

  1. Attribute操作的性能优化方式

    Attribute是.NET平台上提供的一种元编程能力,可以通过标记的方式来修饰各种成员.无论是组件设计,语言之间互通,还是最普通的框架使 用,现在已经都离不开Attribute了.迫于Attribu ...

  2. c#注册表对象映射

    用于快捷保存与读取注册表,为对应的对象 示例 [RegistryRoot(Name = "superAcxxxxx")] public class Abc : IRegistry ...

  3. 在Winform开发中使用Grid++报表

    之前一直使用各种报表工具,如RDLC.DevExpress套件的XtraReport报表,在之前一些随笔也有介绍,最近接触锐浪的Grid++报表,做了一些测试例子和辅助类来处理报表内容,觉得还是很不错 ...

  4. 不可不知的表达式树(3)定制IQueryProvider

    前面我们说到利用表达式树技术实现LINQ-to-SQL,实际上可以针对任何数据源,实现LINQ-to-Everything.这里还涉及到两个重要的接口即IQueryable和IQueryProvide ...

  5. C#实现通用数据过滤窗体

    最近一直在做WINFORM项目,所以经常有些新的想法或尝试与大家分享,之前与大家分享了通用窗体遮罩层.通用可附加数据绑定的DataGridView.窗体渐显,今天来分享一个大家在其它软件中常见的功能: ...

  6. 动态编译库 Natasha 5.0 兼容版本发布

    Natasha 5.0 版本已于 2022/10/10 日发布, 此次大版本更迭带来了兼容性支持, 目前 Natasha 可以兼容 standard2.0 及 coreapp3.1 以上版本. 下载使 ...

  7. 浅谈JS中的!=、== 、!==、===的用法和区别 JS中Null与Undefined的区别 读取XML文件 获取路径的方式 C#中Cookie,Session,Application的用法与区别? c#反射 抽象工厂

    浅谈JS中的!=.== .!==.===的用法和区别   var num = 1;     var str = '1';     var test = 1;     test == num  //tr ...

  8. typeof与GetType区别及反射的见解

    http://www.cnblogs.com/knowledgesea/archive/2013/03/02/2935920.html http://www.cnblogs.com/Jax/archi ...

  9. Java和C#基本类库的区别

    java.lang java .net Boolean System.Boolean Byte System. Byte Character System.Char Class System.Type ...

随机推荐

  1. redis远程连接配置

    解决redis远程连接不上的问题 redis现在的版本开启redis-server后,redis-cli只能访问到127.0.0.1,因为在配置文件中固定了ip,因此需要修改redis.conf(有的 ...

  2. 解决Linux下SSH超时自动断开

    title: 解决Linux下SSH超时自动断开 comments: false date: 2019-08-19 19:22:55 description: Linux 下 SSH 超时自动断开?? ...

  3. js apply与call的用法与区别

    apply和call function Person(c, d) { return this.a + this.b + c + d } var  o = {a: 1, b: 2} Person.cal ...

  4. vue.js(5)--事件修饰符

    vue中的事件修饰符(.stop..prevent..self..capture..once) (1)实例代码 <!DOCTYPE html> <html lang="en ...

  5. BTE增强解析

    原理:转载http://blog.csdn.net/wbin9752/article/details/7954663 BTEs(Business Transaction Events),是SAP的一种 ...

  6. WebView获取title更改

    [self.titleLabel setText:[self.webVIew stringByEvaluatingJavaScriptFromString:@"document.title& ...

  7. Inno setup 开源的安装包打包软件

    Inno Setup是一个开源的安装包打包软件,下载地址是:http://www.jrsoftware.org/isdl.php 使用引导界面创建一个安装包打包 配置参考官方文档:http://www ...

  8. windows 快捷键相关命令

    Mstsc  远程链接 Taskmgr 任务管理器 Regedit  打开注册表 Netstat -ano | find  “80” 查找内容 tasklist /fi "pid eq 57 ...

  9. java.lang.Object类(JDK1.7)

    1.Object的类方法 package java.lang; public class Object { private static native void registerNatives(); ...

  10. Ubuntu16.04下caffe CPU版的详细安装步骤

    一.caffe简介 Caffe,是一个兼具表达性.速度和思维模块化的深度学习框架. 由伯克利人工智能研究小组和伯克利视觉和学习中心开发. 虽然其内核是用C++编写的,但Caffe有Python和Mat ...