Share via


Usar el atributo MarshalAsAttribute

Actualización: noviembre 2007

Se puede utilizar el atributo MarshalAsAttribute para personalizar el comportamiento de cálculo de referencias. Por ejemplo, puede realizar las tareas siguientes:

  • Calcular referencias de matrices y cadenas en una estructura.

  • Proporcionar la flexibilidad necesaria para admitir escenarios comunes de la interoperabilidad COM.

  • Proporcionar coherencia en el cálculo de referencias de tipos a través de la invocación de la plataforma y el contador de referencias de vtable, comparándolo con el contador de referencias IDispatch.

En la tabla siguiente se describe la compatibilidad del cálculo de referencias para los valores de la enumeración UnmanagedType.

Tipo no administrado

Tipos válidos en

Se admite en estructuras

BStr, TBStr

String

LPWStr,

LPStr, LPTStr

String

IUnknown

Object

IDispatch

Object

ByValTStr

String (en estructuras sólo)

ByValArray

Cualquier matriz

SafeArray

Cualquier matriz

VBByRefStr

String

Bool

Boolean,

tipos enteros

I1, I2, I4

Tipos enteros de longitud adecuada

U1, U2, U4

Tipos enteros sin signo de longitud adecuada

I8

N/A

U8

N/A

R4

Números reales de 4 bytes

R8

Números reales de 8 bytes

Struct

Object

Interface

Object

SysInt, SysUInt

Tipos enteros de signo y longitud adecuados

AnsiBStr

N/A

VariantBool

Boolean

FunctionPtr

N/A

AsAny

N/A

LPArray

N/A

LPStruct

N/A

Error

Enteros de 4 bytes

Currency

Decimal

Vea también

Otros recursos

Compatibilidad con el cálculo de referencias en .NET Compact Framework