反射中的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 ...
随机推荐
- httpd
http://httpd.apache.org/docs/2.2/logs.html httpd.conf文件 Configuration and logfile names: If the file ...
- mongodb之 mongodump 与 mongorestore
一.备份 和之前介绍的 mongoexport 的数据导出工具不同, mongodump 是将数据以二进制形式导出,而 mongoexport 导出的数据格式为 csv 或 json 格式: mong ...
- oauth2 java 代码示例
@RequestMapping("/oauth") @Controller public class OauthController { String clientId = &qu ...
- 如何使用redis计数器防止并发请求
需求描述 最近项目中有个需求,短信发送的并发请求问题:业务需求是需要限制一个号码一分钟内只能获取一次随机码,之前的实现是短信发送请求过来后,先去数据库查询发送记录,根据上一次的短信发送时间和当前时间比 ...
- Python的rand vs randn以及linspace
Numpy里面的randn是满足了整体分布的,normal distribution(正态分布):rand则是满足了Uniform Distribution(均匀分布): Linspace(start ...
- tk简单使用
# 引入tk import tkinter as tk class UserLogin(object): """ 初始化窗口 """ def ...
- [转]You Could Become an AI Master Before You Know It. Here’s How.
转自:https://www.technologyreview.com/s/608921/ai-algorithms-are-starting-to-teach-ai-algorithms/# You ...
- 简单说说 Java 的 JVM 内存结构
问:简单说说 Java 的 JVM 内存结构分为哪几个部分? 答:JVM 内存共分为虚拟机栈.堆.方法区.程序计数器.本地方法栈五个部分,分别解释如下.虚拟机栈:线程私有的,每个方法在执行时会创建一个 ...
- ssl-openssl简介
SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议.TLS与 ...
- Docker容器 暴露多个端口
1.创建容器是指定 docker run -p <host_port1>:<container_port1> -p <host_port2>:<contain ...