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.

DynamicMethod.DynamicMethod(String, MethodAttributes, CallingConventions, Type, Type[], Module, Boolean) Constructor

Creates a dynamic method that is global to a module, specifying the method name, attributes, calling convention, return type, parameter types, module, and whether just-in-time (JIT) visibility checks should be skipped for types and members accessed by the Microsoft intermediate language (MSIL) of the dynamic method.

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

public DynamicMethod (
	string name,
	MethodAttributes attributes,
	CallingConventions callingConvention,
	Type returnType,
	Type[] parameterTypes,
	Module m,
	bool skipVisibility
)
public DynamicMethod (
	String name, 
	MethodAttributes attributes, 
	CallingConventions callingConvention, 
	Type returnType, 
	Type[] parameterTypes, 
	Module m, 
	boolean skipVisibility
)
public function DynamicMethod (
	name : String, 
	attributes : MethodAttributes, 
	callingConvention : CallingConventions, 
	returnType : Type, 
	parameterTypes : Type[], 
	m : Module, 
	skipVisibility : boolean
)
Not applicable.

Parameters

name

The name of the dynamic method. This can be a zero-length string, but it cannot be a null reference (Nothing in Visual Basic).

attributes

A bitwise combination of MethodAttributes values that specifies the attributes of the dynamic method. The only combination allowed is Public and Static.

callingConvention

The calling convention for the dynamic method. Must be Standard.

returnType

A Type object that specifies the return type of the dynamic method, or a null reference (Nothing in Visual Basic) if the method has no return type.

parameterTypes

An array of Type objects specifying the types of the parameters of the dynamic method, or a null reference (Nothing in Visual Basic) if the method has no parameters.

m

A Module representing the module with which the dynamic method is to be logically associated.

skipVisibility

true to skip JIT visibility checks on types and members accessed by the MSIL of the dynamic method; otherwise, false.

Exception typeCondition

ArgumentException

An element of parameterTypes is a null reference (Nothing in Visual Basic) or Void.

-or-

m is a module that provides anonymous hosting for dynamic methods.

ArgumentNullException

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

-or-

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

NotSupportedException

attributes is a combination of flags other than Public and Static.

-or-

callingConvention is not Standard.

-or-

returnType is a type for which Type.IsByRef returns true.

The dynamic method created with this constructor has access to public and internal (Friend in Visual Basic) members of all the public and internal types contained in module m.

Skipping the JIT compiler's visibility checks allows the dynamic method to access private and protected members of all other types in the module and in all other assemblies as well. This is useful, for example, when writing code to serialize objects.

NoteNote:

For backward compatibility, this constructor demands SecurityPermission with the SecurityPermissionFlag.ControlEvidence flag if the following conditions are both true: m is a module other than the calling module, and the demand for ReflectionPermission with the ReflectionPermissionFlag.MemberAccess flag has failed. If the demand for SecurityPermission succeeds, the operation is allowed.

NoteNote:

Starting with the , this member no longer requires ReflectionPermission with the ReflectionPermissionFlag.ReflectionEmit flag. (See Security Issues in Reflection Emit.) To use this functionality, your application should target the . For more information, see The .NET Framework 3.5 Architecture.

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

Community Additions

Show:
© 2015 Microsoft