为了获取返回值,必须指定 BindingFlags.Instance 或 BindingFlags.Static。

指定 BindingFlags.Public 可在搜索中包含公共成员。

指定 BindingFlags.NonPublic 可在搜索中包含非公共成员(即私有成员和受保护的成员)。

指定 BindingFlags.FlattenHierarchy 可包含层次结构上的静态成员。

下列 BindingFlags 修饰符标志可用于更改搜索的执行方式:

BindingFlags.IgnoreCase,表示忽略 name 的大小写。

BindingFlags.DeclaredOnly,仅搜索 Type 上声明的成员,而不搜索被简单继承的成员。

可以使用下列 BindingFlags 调用标志表示要对成员采取的操作:

CreateInstance,表示调用构造函数。忽略 name。对其他调用标志无效。

InvokeMethod,表示调用方法,而不调用构造函数或类型初始值设定项。对 SetField 或 SetProperty 无效。

GetField,表示获取字段值。对 SetField 无效。

SetField,表示设置字段值。对 GetField 无效。

GetProperty,表示获取属性。对 SetProperty 无效。

SetProperty 表示设置属性。对 GetProperty 无效。

BindingFlags.Instance                     : 对象实例
BindingFlags.Static                          : 静态成员
BindingFlags.Public                         : 指可在搜索中包含公共成员
BindingFlags.NonPublic                 : 指可在搜索中包含非公共成员(即私有成员和受保护的成员)
BindingFlags.FlattenHierarchy      : 指可包含层次结构上的静态成员
BindingFlags.IgnoreCase               : 表示忽略 name 的大小写
BindingFlags.DeclaredOnly           : 仅搜索 Type 上声明的成员,而不搜索被简单继承的成员
BindingFlags.CreateInstance        : 表示调用构造函数。忽略 name。对其他调用标志无效

BindingFlags说明的更多相关文章

  1. C# Reflection BindingFlags

    定义包含在搜索中的成员 下列 BindingFlags 筛选标志可用于定义包含在搜索中的成员: 为了获取返回值,必须指定 BindingFlags.Instance 或 BindingFlags.St ...

  2. 反射中使用 BindingFlags.IgnoreCase

    我们经常需要通过反射来调用目标对象的方法或获取/设置目标对象的属性,Type.InvokeMember 方法签名如下: public object InvokeMember(string name,B ...

  3. GetProperties(BindingFlags)说明

    Instance|Public:获取公共的的实例属性(非静态的) Instance|NonPublic:获取非公共的的实例属性(非静态的).(private/protect/internal) Sta ...

  4. c#里BindingFlags 筛选标志

    下列 BindingFlags 筛选标志可用于定义包含在搜索中的成员: 为了获取返回值,必须指定 BindingFlags.Instance 或 BindingFlags.Static. 指定 Bin ...

  5. (转)C#反射使用时注意BindingFlags的用法

    c#反射查找方法时,默认只能查到public方法.如果想要查找private方法,需要设定BindingFlags. 即: BindingFlags.Public|BindingFlags.Insta ...

  6. 反射中的BindingFlags

    不指定绑定标志  BindingFlags.Default 表示忽略 name 的大小写,不应考虑成员名的大小写   BindingFlags.IgnoreCase 只应考虑在所提供类型的层次结构级别 ...

  7. C#反射使用时注意BindingFlags的用法(转载)

    最近刚刚开始用反射做项目,遇到一个小的知识点,记录一下. c#反射查找方法时,默认只能查到public方法.如果想要查找private方法,需要设定BindingFlags.    即: Bindin ...

  8. C#反射使用时注意BindingFlags的用法

    c#反射查找方法时,默认只能查到public方法.如果想要查找private方法,需要设定BindingFlags. 即: BindingFlags.Public|BindingFlags.Insta ...

  9. 【C#反射】BindingFlags 枚举

    BindingFlags 枚举用途:Type的类方法中,用于筛选成员. type.InvokeMember方法中 type.GetConstructor 方法中 type.GetFiles方法中 ty ...

随机推荐

  1. Crontab使用mailx的一点发现

    要用到Crontab定时任务去执行一个Shell脚本监控Linux系统资源并且当一些数字超过预设的话发送邮件警告.首先是linux的sendmail功能无法满足我们使用SMTP服务器并且指定发送者(E ...

  2. 刷机nexus4

    官方rom下载地址:https://developers.google.com/android/nexus/images?hl=zh-CN 刷机教程:http://jingyan.baidu.com/ ...

  3. Xcode7主题路径

    // Xcode7主题路径~/Library/Developer/Xcode/UserData/FontAndColorThemes

  4. Java知识思维导图

    注:图片来源于网络,谢谢分享. 1 开发环境Java SDK 下载和安装2 环境变量的配置(path和classpath)3 编程基础 标识符命名规范4 Java数据类型5 运算符6 分支语句(if, ...

  5. MyEclipse导入ant项目——Java编程思想

    北门煎饼东门串儿: <JAVA编程思想(Think in Java)>一书中提供了大量源代码,可是项目是用ant构建的.对于用惯了eclipse,netbeans等IDE的同学们可能有些手 ...

  6. 《APUE》第6章练习1

    问题:编写一个程序,它调用uname并输出utsname结构中的所有字段,并将输出与uname(1)命令的输出结构做比较. 我本来以为utsname结构也跟passwd结构一样,也有那三个函数来获取整 ...

  7. 广度优先算法BFS

    package myalgorithm; import java.util.Arrays; import java.util.LinkedList; import java.util.Queue; / ...

  8. MySQL EER反向建表

    Database > Synchronize Model... Choose Stored Connection Select the Schemata Choose which to upda ...

  9. H5全景视频VR视频

    公司的有个专题页面涉及到全景视频展示这个技术点,找到一个相关的库. http://www.utovr.com/sdk/download  这里有个免费的SDK可以下载. 里面也有案例可以看,代码就照着 ...

  10. 爬虫学习之基于Scrapy的网络爬虫

    ###概述 在上一篇文章<爬虫学习之一个简单的网络爬虫>中我们对爬虫的概念有了一个初步的认识,并且通过Python的一些第三方库很方便的提取了我们想要的内容,但是通常面对工作当作复杂的需求 ...