Delegate.CreateDelegate Method (Type, Type, String)
Creates a delegate of the specified type that represents the specified static method of the specified class.
Assembly: mscorlib (in mscorlib.dll)
public static Delegate CreateDelegate( Type type, Type target, string method )
- Type: System.String
The name of the static method that the delegate is to represent.
Return ValueType: System.Delegate
A delegate of the specified type that represents the specified static method of the specified class.
type is null.
target is null.
method is null.
type does not inherit MulticastDelegate.
type is not a RuntimeType. See Runtime Types in Reflection.
target is not a RuntimeType.
target is an open generic type. That is, its ContainsGenericParameters property is true.
method is not a static method (Shared method in Visual Basic).
method cannot be bound, for example because it cannot be found, and throwOnBindFailure is true.
The Invoke method of type is not found.
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.
This method overload is equivalent to calling the CreateDelegate(Type, Type, String, Boolean, Boolean) method overload, specifying false for ignoreCase and true for throwOnBindFailure.
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