反射中的BindingFlags
不指定绑定标志 BindingFlags.Default
表示忽略 name 的大小写,不应考虑成员名的大小写 BindingFlags.IgnoreCase
只应考虑在所提供类型的层次结构级别上声明的成员。不考虑继承成员 BindingFlags.DeclaredOnly
只搜索实例成员 BindingFlags.Instance
只搜索静态成员 BindingFlags.Static
只搜索公共成员 BindingFlags.Public
只搜索非公共成员(即私有成员和受保护的成员) BindingFlags.NonPublic
应返回层次结构上的公共静态成员和受保护的静态成员。不返回继承类中的私有静态成员。静态成员包括字段、方法、事件和属性。不返回嵌套类型。 BindingFlags.FlattenHierarchy
表示调用方法,而不调用构造函数或类型初始值设定项。对 SetField 或 SetProperty 无效。 BindingFlags.InvokeMethod
表示调用构造函数。忽略 name。对其他调用标志无效。 BindingFlags.CreateInstance
表示获取字段值。对 SetField 无效。 BindingFlags.GetField
表示设置字段值。对 GetField 无效。 BindingFlags.SetField
表示获取属性。对 SetProperty 无效。BindingFlags.GetProperty
表示设置属性。对 GetProperty 无效。 BindingFlags.SetProperty
二、使用BindingFlags注意事项
1、BindingFlags.IgnoreCase 需要与 BindingFlags.Public 和 BindingFlags.Instance 一起用才会产生效果。
2、为了获取返回值,必须指定 BindingFlags.Instance 或 BindingFlags.Static。
反射中的BindingFlags的更多相关文章
- 使用C#反射中的MakeGenericType函数,来为泛型方法和泛型类指定(泛型的)类型
C#反射中的MakeGenericType函数可以用来指定泛型方法和泛型类的具体类型,方法如下面代码所示这里就不多讲了,详情看下面代码一切就清楚了: using System; using Syste ...
- C#中 反射中的Assembly(装载程序集):
反射中的Assembly(装载程序集):可以通过Assembly的信息来获取程序的类,实例等编程需要用到的信息. String assemblyName = @"NamespaceRef& ...
- java反射中Method类invoke方法的使用方法
package com.zsw.test; import java.lang.reflect.Method;import java.lang.reflect.InvocationTargetExcep ...
- JAVA反射中的getFields()方法和getDeclaredFields ()方法的区别
JAVA反射中的getFields()方法和getDeclaredFields ()方法的区别 关于获取类的字段有两种方式:getFields()和getDeclaredFields().我们先来 ...
- 反射中Class.forName()和classLoader的区别
搞清楚两者之间区别前,我们来了解下类加载过程. 一.类加载过程 1.加载 通过一个类的全限定名来获取定义此类的二进制字节流. 将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构. 在内存中生 ...
- 在Java的反射中,Class.forName和ClassLoader的区别
前言 最近在面试过程中有被问到,在Java反射中Class.forName()加载类和使用ClassLoader加载类的区别.当时没有想出来后来自己研究了一下就写下来记录一下. 解释 在java中Cl ...
- 【学步者日记】C#反射中NonPublic和Instance需要一起使用
完整链接请看: http://note.youdao.com/noteshare?id=f378d9a414e46893b0e300b017ed3655 ——————————————————————— ...
- Java反射中的getClass()方法
Java反射学习 所谓反射,可以理解为在运行时期获取对象类型信息的操作.传统的编程方法要求程序员在编译阶段决定使用的类型,但是在反射的帮助下,编程人员可以动态获取这些信息,从而编写更加具有可移植性的代 ...
- 反射中getMethods 与 getDeclaredMethods 的区别
public Method[] getMethods()返回某个类的所有公用(public)方法包括其继承类的公用方法,当然也包括它所实现接口的方法.public Method[] getDeclar ...
随机推荐
- PowerDesigner基础使用 ---- 入门学习
1:入门级使用PowerDesigner软件创建数据库(直接上图怎么创建,其他的概念知识可自行学习) 我的PowerDesigner版本是16.5的,如若版本不一样,请自行参考学习即可.(打开软件即是 ...
- keil5配置ST Link v2 for STM32F10x
请务必先安装MDKCM525.EXE,否则会找不到闪存编程算法
- firefox extension教程
https://developer.mozilla.org/zh-CN/docs/Add-ons/Overlay_Extensions/XUL_School/The_Essentials_of_an_ ...
- sql server 无法用sql server身份验证
1)首先,用windows身份验证进入服务器. 2)其次找到安全性,点击进入后,找到登录名为sa,然后右击属性. 3)在属性中找到常规,然后检查下自己的账号和密码,并且在状态中将登陆状态改成启用,否则 ...
- uglifyjs-webpack-plugin 插件,drop_console 默认为 false(不清除 console 语句),drop_debugger 默认为 true(清除 debugger 语句)
uglifyjs-webpack-plugin 插件,drop_console 默认为 false(不清除console语句),drop_debugger 默认为 true(清除 debugger 语 ...
- jupyter notebook的路径
跟你执行jupyter notebook的当前路径有关系:你在哪个路径下执行的这个语句,那么你就是以那个路径为基础的workspace
- golang 原子操作函数
golang中的原子操作在sync/atomic package中. 下文以比较和交换操作函数为例,介绍其使用. CompareAndSwapInt32 比较和交换操作是原子性的. // Compar ...
- java降低竞争锁的一些方法
序本文介绍一下提升并发可伸缩性的一些方式:减少锁的持有时间,降低锁的粒度,锁分段.避免热点域以及采用非独占的锁或非阻塞锁来代替独占锁. 减少锁的持有时间降低发生竞争可能性的一种有效方式就是尽可能缩短锁 ...
- 黄聪:安装cnpm替代默认的npm
使用cnpm替代默认的npm: npm install -g cnpm --registry=https://registry.npm.taobao.org
- 【springmvc】之使用jQuery接收前端传入List对象
前端代码: <form id="person_add" method="post" action="user"> <tab ...