BindingFlags

BindingFlags

These BindingFlags control binding for a great many classes in the System, System.Reflection, and System.Runtime namespaces that invoke, create, get, set, and find members and types.
The binding flags can be categorized by how they identify a type member, as listed in the following table.
Identified by Accessibility
Instance(实例成员), Static(静态成员)
NonPublic, Public

DeclaredOnly :指定只应考虑在所提供类型的层次结构级别上声明的成员。不考虑继承成员。例如Object类有toString()等方法,但是,当你使用Dog(extends Object)获取Public的Method时,如果不指定DeclaredOnly,Object中定义的这些方法也会返回,否则就不返回;
FlattenHierarchy : 继承树上层的Public 或 Protected Static成员也会返回,如果不指定就不会返回;看代码的例子
IgnoreCase:指定当绑定时不应考虑成员名的大小写;
IgnoreReturn:在 COM interop 中用于指定可以忽略成员的返回值;

FlattenHierarchy

Identified by Binding Argument


ExactBinding :Specifies that types of the supplied arguments must exactly match the types of the corresponding formal parameters.
OptionalParamBinding : 返回其参数计数与提供参数的数目匹配的成员集。此绑定标志用于所带参数具有默认值的方法和带变量参数 (varargs) 的方法。此标志应只与 Type.InvokeMember 一起使用;

Identified by Operation(这部分功能与)

CreateInstance :
GetField :
SetField :
GetProperty :
SetProperty :
InvokeMethod:
PutDispProperty :
PutRefDispProperty :


 

你可能感兴趣的:(bind)