Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale
Questo argomento non è stato ancora valutato - Valuta questo argomento

Metodo MethodBuilder.SetMarshal

Nota: questa API è ora obsoleta.

Imposta le informazioni di marshalling per il tipo restituito del metodo.

Spazio dei nomi:  System.Reflection.Emit
Assembly:  mscorlib (in mscorlib.dll)
[ObsoleteAttribute("An alternate API is available: Emit the MarshalAs custom attribute instead. http://go.microsoft.com/fwlink/?linkid=14202")]
public void SetMarshal(
	UnmanagedMarshal unmanagedMarshal
)

Parametri

unmanagedMarshal
Tipo: System.Reflection.Emit.UnmanagedMarshal
Informazioni di marshalling per il tipo restituito del metodo.
EccezioneCondizione
InvalidOperationException

Il tipo che lo contiene è stato creato in precedenza utilizzando il metodo CreateType.

In alternativa

Per il metodo corrente, la proprietà IsGenericMethod è true, ma la proprietà IsGenericMethodDefinition è false.

Nell'esempio di codice riportato di seguito è illustrato l'utilizzo contestuale del metodo SetMarshal per effettuare il marshalling dei risultati della chiamata di un metodo come tipo diverso.



	MethodBuilder myMethod = myDynamicType.DefineMethod("MyMethodReturnsMarshal",
						MethodAttributes.Public,
						typeof(uint),
						new Type[] { typeof(string) });

	// We want the return value of our dynamic method to be marshalled as 
	// an 64-bit (8-byte) signed integer, instead of the default 32-bit
   	// unsigned int as specified above. The UnmanagedMarshal class can perform
	// the type conversion.

	UnmanagedMarshal marshalMeAsI8 = UnmanagedMarshal.DefineUnmanagedMarshal(
				         System.Runtime.InteropServices.UnmanagedType.I8);	

	myMethod.SetMarshal(marshalMeAsI8);	



.NET Framework

Supportato in: 1.1, 1.0
Obsoleto (avviso del compilatore) in 4.5
Obsoleto (avviso del compilatore) in 4
Obsoleto (avviso del compilatore) in 3.5
Obsoleto (avviso del compilatore) in 3.5 SP1
Obsoleto (avviso del compilatore) in 3.0
Obsoleto (avviso del compilatore) in 3.0 SP1
Obsoleto (avviso del compilatore) in 3.0 SP2
Obsoleto (avviso del compilatore) in 2.0
Obsoleto (avviso del compilatore) in 2.0 SP1
Obsoleto (avviso del compilatore) in 2.0 SP2

.NET Framework Client Profile

Obsoleto (avviso del compilatore) in 4
Obsoleto (avviso del compilatore) in 3.5 SP1

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.
Il documento è risultato utile?
(1500 caratteri rimanenti)

Aggiunte alla community

AGGIUNGI
© 2013 Microsoft. Tutti i diritti riservati.