Condividi tramite


Utilizzo dell'attributo MarshalAsAttribute

Aggiornamento: novembre 2007

È possibile utilizzare l'attributo MarshalAsAttribute per personalizzare il comportamento del marshalling. Ad esempio, è possibile effettuare le seguenti attività:

  • Eseguire il marshalling di matrici e stringhe in una struttura.

  • Fornire la flessibilità necessaria per supportare comuni scenari di interoperabilità COM.

  • Fornire uniformità nei tipi di marshalling tramite il richiamo piattaforma e il gestore di marshalling vtable rispetto al gestore di marshalling IDispatch.

Nella tabella riportata di seguito viene descritto il supporto di marshalling per i valori dell'enumerazione UnmanagedType.

Tipo non gestito

Tipi validi in

Supporto nelle strutture

BStr, TBStr

String

LPWStr,

LPStr, LPTStr

String

IUnknown

Object

IDispatch

Object

ByValTStr

String (solo nelle strutture)

ByValArray

Qualsiasi matrice

SafeArray

Qualsiasi matrice

VBByRefStr

String

Bool

Boolean,

tipi integer

I1, I2, I4

Tipi integer di lunghezza appropriata

U1, U2, U4

Tipi integer senza segno di lunghezza appropriata

I8

N/D

U8

N/D

R4

Numeri reali a 4 byte

R8

Numeri reali a 8 byte

Struct

Object

Interface

Object

SysInt, SysUInt

Tipi integer di segno e lunghezza appropriati

AnsiBStr

N/D

VariantBool

Boolean

FunctionPtr

N/D

AsAny

N/D

LPArray

N/D

LPStruct

N/D

Error

Valori integer a 4 byte

Currency

Decimal

Vedere anche

Altre risorse

Supporto di marshalling in .NET Compact Framework