Delegate::CreateDelegate Method (Type, Object, String, Boolean, Boolean)
Creates a delegate of the specified type that represents the specified instance method to invoke on the specified class instance, with the specified case-sensitivity and the specified behavior on failure to bind.
Namespace: System
Assembly: mscorlib (in mscorlib.dll)
public: static Delegate^ CreateDelegate( Type^ type, Object^ target, String^ method, bool ignoreCase, bool throwOnBindFailure )
Parameters
- type
- Type: System::Type
The Type of delegate to create.
- target
- Type: System::Object
The class instance on which method is invoked.
- method
- Type: System::String
The name of the instance method that the delegate is to represent.
- ignoreCase
- Type: System::Boolean
A Boolean indicating whether to ignore the case when comparing the name of the method.
- throwOnBindFailure
- Type: System::Boolean
true to throw an exception if method cannot be bound; otherwise, false.
Return Value
Type: System::DelegateA delegate of the specified type that represents the specified instance method to invoke on the specified class instance.
| Exception | Condition |
|---|---|
| ArgumentNullException | type is nullptr. -or- target is nullptr. -or- method is nullptr. |
| ArgumentException | type does not inherit MulticastDelegate. -or- type is not a RuntimeType. See Runtime Types in Reflection. -or- method is not an instance method. -or- method cannot be bound, for example because it cannot be found, and throwOnBindFailure is true. |
| MissingMethodException | The Invoke method of type is not found. |
| MethodAccessException | The caller does not have the permissions necessary to access method. |
This method creates delegates for instance methods only. An instance method is a method that is associated with an instance of a class; a static method is a method that is associated with the class itself.
Note |
|---|
Starting with the .NET Framework 2.0 Service Pack 1, this method can be used to access non-public methods if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag::RestrictedMemberAccess flag and if the grant set of the non-public methods is restricted to the caller’s grant set, or a subset thereof. (See Security Considerations for Reflection.) To use this functionality, your application should target the .NET Framework 3.5 or later. |
- ReflectionPermission
for accessing a non-public method when the grant set of the non-public method is restricted to the caller's grant set, or a subset thereof. Associated enumeration: ReflectionPermissionFlag::RestrictedMemberAccess
- ReflectionPermission
for accessing a non-public method regardless of its grant set. Associated enumeration: ReflectionPermissionFlag::MemberAccess
- ReflectionPermission
when invoked late-bound through mechanisms such as Type::InvokeMember. Associated enumeration: ReflectionPermissionFlag::MemberAccess.
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Note