Early Preview
This is currently very much a preview. Please feel free to try things out,
but don't be upset if anything is not yet working. Feedback is welcome over on our
GitHub Dicussions page.
enum System.Reflection.BindingFlags
Assembly: System.Runtime
Specifies flags that control binding and the way in which the search for members and types is conducted by reflection.
Values
Default
Specifies that no binding flags are defined.
IgnoreCase
Specifies that the case of the member name should not be considered when binding.
DeclaredOnly
Specifies that only members declared at the level of the supplied type's hierarchy should be considered. Inherited members are not considered.
Instance
Specifies that instance members are to be included in the search.
Static
Specifies that static members are to be included in the search.
Public
Specifies that public members are to be included in the search.
NonPublic
Specifies that non-public members are to be included in the search.
FlattenHierarchy
Specifies that public and protected static members up the hierarchy should be returned. Private static members in inherited classes are not returned. Static members include fields, methods, events, and properties. Nested types are not returned.
InvokeMethod
Specifies that a method is to be invoked. This must not be a constructor or a type initializer.
This flag is passed to an <see langword="InvokeMember" /> method to invoke a method.
CreateInstance
Specifies that reflection should create an instance of the specified type. Calls the constructor that matches the given arguments. The supplied member name is ignored. If the type of lookup is not specified, (Instance | Public) will apply. It is not possible to call a type initializer.
This flag is passed to an <see langword="InvokeMember" /> method to invoke a constructor.
GetField
Specifies that the value of the specified field should be returned.
This flag is passed to an <see langword="InvokeMember" /> method to get a field value.
SetField
Specifies that the value of the specified field should be set.
This flag is passed to an <see langword="InvokeMember" /> method to set a field value.
GetProperty
Specifies that the value of the specified property should be returned.
This flag is passed to an <see langword="InvokeMember" /> method to invoke a property getter.
SetProperty
Specifies that the value of the specified property should be set. For COM properties, specifying this binding flag is equivalent to specifying <see langword="PutDispProperty" /> and <see langword="PutRefDispProperty" /> .
This flag is passed to an <see langword="InvokeMember" /> method to invoke a property setter.
PutDispProperty
Specifies that the <see langword="PROPPUT" /> member on a COM object should be invoked. <see langword="PROPPUT" /> specifies a property-setting function that uses a value. Use <see langword="PutDispProperty" /> if a property has both <see langword="PROPPUT" /> and <see langword="PROPPUTREF" /> and you need to distinguish which one is called.
PutRefDispProperty
Specifies that the <see langword="PROPPUTREF" /> member on a COM object should be invoked. <see langword="PROPPUTREF" /> specifies a property-setting function that uses a reference instead of a value. Use <see langword="PutRefDispProperty" /> if a property has both <see langword="PROPPUT" /> and <see langword="PROPPUTREF" /> and you need to distinguish which one is called.
ExactBinding
Specifies that types of the supplied arguments must exactly match the types of the corresponding formal parameters. Reflection throws an exception if the caller supplies a non-null <see langword="Binder" /> object, since that implies that the caller is supplying <see langword="BindToXXX" /> implementations that will pick the appropriate method. The default binder ignores this flag, while custom binders can implement the semantics of this flag.
SuppressChangeType
Not implemented.
OptionalParamBinding
Returns the set of members whose parameter count matches the number of supplied arguments. This binding flag is used for methods with parameters that have default values and methods with variable arguments (varargs). This flag should only be used with <see cref="M:System.Type.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[])" /> . <br /> <br /> Parameters with default values are used only in calls where trailing arguments are omitted. They must be the last arguments.
IgnoreReturn
Used in COM interop to specify that the return value of the member can be ignored.
DoNotWrapExceptions
Specifies that exceptions should not be wrapped in a <see cref="System.Reflection.TargetInvocationException" /> .