Delegate::CreateDelegate Method (Type^, Type^, String^, Boolean, Boolean)
Creates a delegate of the specified type that represents the specified static method of the specified class, with the specified case-sensitivity and the specified behavior on failure to bind.
Assembly: mscorlib (in mscorlib.dll)
public: static Delegate^ CreateDelegate( Type^ type, Type^ target, String^ method, bool ignoreCase, bool throwOnBindFailure )
Parameters
- type
-
Type:
System::Type^
The Type of delegate to create.
- target
-
Type:
System::Type^
The Type representing the class that implements method.
- method
-
Type:
System::String^
The name of the static 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::Delegate^A delegate of the specified type that represents the specified static method of the specified class.
| Exception | Condition |
|---|---|
| ArgumentNullException | type is null. -or- target is null. -or- method is null. |
| ArgumentException | type does not inherit MulticastDelegate. -or- type is not a RuntimeType. See Runtime Types in Reflection. -or- target is not a RuntimeType. -or- target is an open generic type. That is, its ContainsGenericParameters property is true. -or- method is not a static method (Shared method in Visual Basic). -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 static 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. |
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
for accessing a non-public method regardless of its grant set. Associated enumeration: ReflectionPermissionFlag::MemberAccess
when invoked late-bound through mechanisms such as Type::InvokeMember. Associated enumeration: ReflectionPermissionFlag::MemberAccess.
Available since 2.0
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
