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 |
||
LPWStr, LPStr, LPTStr |
Sí |
|
IUnknown |
Sí |
|
IDispatch |
Sí |
|
ByValTStr |
String (en estructuras sólo) |
Sí |
ByValArray |
Cualquier matriz |
Sí |
SafeArray |
Cualquier matriz |
Sí |
VBByRefStr |
||
Bool |
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 |
||
Interface |
||
SysInt, SysUInt |
Tipos enteros de signo y longitud adecuados |
|
AnsiBStr |
N/A |
|
VariantBool |
||
FunctionPtr |
N/A |
|
AsAny |
N/A |
|
LPArray |
N/A |
|
LPStruct |
N/A |
|
Error |
Enteros de 4 bytes |
|
Currency |
Vea también
Otros recursos
Compatibilidad con el cálculo de referencias en .NET Compact Framework