Windows apps
Collapse the table of content
Expand the table of content
Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

Delegate.CreateDelegate Method (Type, Type, String)

Creates a delegate of the specified type that represents the specified static method of the specified class.

Namespace: System
Assembly: mscorlib (in mscorlib.dll)

public static Delegate CreateDelegate (
	Type type,
	Type target,
	string method
)
public static Delegate CreateDelegate (
	Type type, 
	Type target, 
	String method
)
public static function CreateDelegate (
	type : Type, 
	target : Type, 
	method : String
) : Delegate
Not applicable.

Parameters

type

The Type of delegate to create.

target

The Type representing the class that implements method.

method

The name of the static method that the delegate is to represent.

Return Value

A delegate of the specified type that represents the specified static method of the specified class.

Exception typeCondition

ArgumentNullException

type is a null reference (Nothing in Visual Basic).

-or-

target is a null reference (Nothing in Visual Basic).

-or-

method is a null reference (Nothing in Visual Basic).

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.

This method overload is equivalent to calling the CreateDelegate(Type,Type,String,Boolean,Boolean) method overload, specifying false for ignoreCase and true for throwOnBindFailure.

NoteNote:

Starting with the , this method can be used to access non-public methods if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.ReflectionEmit 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 . For more information, see The .NET Framework 3.5 Architecture.

  • 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: System.Security.Permissions.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 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0

Community Additions

Show:
© 2016 Microsoft