Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Costruttore DynamicMethod (String, MethodAttributes, CallingConventions, Type, Type[], Type, Boolean)

 

Data di pubblicazione: novembre 2016

Crea un metodo dinamico, specificando il nome del metodo, gli attributi, la convenzione di chiamata, il tipo restituito, i tipi di parametro, il tipo a cui il metodo dinamico è associato in modo logico e se i controlli di visibilità JIT possono essere ignorati per i tipi e i membri cui accede il linguaggio MSIL (Microsoft Intermediate Language) del metodo dinamico.

Spazio dei nomi:   System.Reflection.Emit
Assembly:  mscorlib (in mscorlib.dll)

public DynamicMethod(
	string name,
	MethodAttributes attributes,
	CallingConventions callingConvention,
	Type returnType,
	Type[] parameterTypes,
	Type owner,
	bool skipVisibility
)

Parametri

name
Type: System.String

Nome del metodo dinamico. Può essere una stringa di lunghezza zero, ma non può essere null.

attributes
Type: System.Reflection.MethodAttributes

Combinazione bit per bit di valori di MethodAttributes che specifica gli attributi del metodo dinamico. L'unica combinazione consentita è Public e Static.

callingConvention
Type: System.Reflection.CallingConventions

Convenzione di chiamata per il metodo dinamico. Deve essere Standard.

returnType
Type: System.Type

Oggetto Type che specifica il tipo restituito del metodo dinamico oppure null se per il metodo non esiste alcun tipo restituito.

parameterTypes
Type: System.Type[]

Matrice di oggetti Type che specifica i tipi dei parametri del metodo dinamico oppure null se per il metodo non esistono parametri.

owner
Type: System.Type

Oggetto Type a cui il metodo dinamico è associato in modo logico. Il metodo dinamico ha accesso a tutti i membri del tipo.

skipVisibility
Type: System.Boolean

true per ignorare i controlli di visibilità JIT sui tipi e i membri cui accede il linguaggio MSIL del metodo dinamico; in caso contrario, false.

Exception Condition
ArgumentException

Un elemento di parameterTypes è null o Void.

-oppure-

owner è un'interfaccia, una matrice, un tipo generico aperto o un parametro di tipo di un tipo o un metodo generico.

ArgumentNullException

name è null.

-oppure-

owner è null.

NotSupportedException

attributes è una combinazione di flag diversa da Public e Static.

-oppure-

callingConvention non è Standard.

-oppure-

returnType è un tipo per cui Type.IsByRef restituisce true.

The dynamic method is global to the module that contains the type owner. It has access to all members of the type owner.

The dynamic method created with this constructor has access to all members of the type owner, and to public and internal (Friend in Visual Basic) members of all the types contained in the module that contains owner. Skipping the JIT compiler's visibility checks allows the dynamic method to access private and protected members of all other types as well. This is useful, for example, when writing code to serialize objects.

System_CAPS_noteNota

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

System_CAPS_noteNota

Starting with the net_v20sp1_long, this member no longer requires T:System.Security.Permissions.ReflectionPermission with the F:System.Security.Permissions.ReflectionPermissionFlag.ReflectionEmit flag. (See Security Issues in Reflection Emit.) To use this functionality, your application should target the net_v35_long or later.

ReflectionPermission

to skip JIT visibility checks, if skipVisibility is true. Associated enumeration: F:System.Security.Permissions.ReflectionPermissionFlag.MemberAccess.

ReflectionPermission

to associate the dynamic method with a type in a module other than the calling module. Associated enumeration: F:System.Security.Permissions.ReflectionPermissionFlag.RestrictedMemberAccess.

.NET Framework
Disponibile da 2.0
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.1
Torna all'inizio
Mostra: