首页 > 代码库 > 关于反射的BindingFlag浅析

关于反射的BindingFlag浅析

MSDN关于BindingFlag的文档地址:https://msdn.microsoft.com/zh-cn/library/cexkb29a

BindFlags作为一个特别的标志量,在反射中通过这个标志量,可以指定搜索不同类型的成员。

public或nonpublic必须与 instance或static 一起使用,否则将不返回任何成员。

例如:

PropertyInfo[] p=type.GetProperties(BindingFlags.Public | BindingFlags.Instance);

相关部分的组合说明:

组合 说明
BindingFlag.Public | BindingFlags.Instance 指定Public修饰的实例成员
BindingFlag.Public | BindingFlags.Static 指定Public修饰 的静态成员
BindingFlag.NonPublic | BindingFlags.Instance 指定private/protect/internal 修饰的实例成员
BindingFlag.NonPublic | BindingFlags.Static 指定private/protect/internal修饰 的静态成员
BindingFlag.Public | BindingFlags.Static | BindingFlags.Instance 指定public修饰的静态成员和实例成员
BindingFlag.NonPublic | BindingFlags.Static | BindingFlags.Instance 指定private/protect/internal修饰 的静态成员和实例成员

 

关于反射的BindingFlag浅析