Freigeben über


Verwenden des MarshalAsAttribute-Attributs

Aktualisiert: November 2007

Sie können das MarshalAsAttribute-Attribut verwenden, um das Marshallingverhalten anzupassen. Sie können z. B. folgende Aufgaben ausführen:

  • Marshallen von Arrays und Zeichenfolgen in einer Struktur.

  • Bereitstellen der benötigten Flexibilität, um allgemeine COM-Interop-Szenarien zu unterstützen.

  • Bereitstellen von Konsistenz bei Marshallingtypen über Plattformaufruf und den vtable-Marshaller im Vergleich zum IDispatch-Marshaller.

In der folgenden Tabelle wird die Marshallingunterstützung für die Werte der UnmanagedType-Enumeration beschrieben.

Nicht verwalteter Typ

Gültige Typen für

Unterstützt in Strukturen

BStr, TBStr

String

LPWStr,

LPStr, LPTStr

String

Ja

IUnknown

Object

Ja

IDispatch

Object

Ja

ByValTStr

String (nur in Strukturen)

Ja

ByValArray

Beliebiges Array

Ja

SafeArray

Beliebiges Array

Ja

VBByRefStr

String

Bool

Boolean,

ganzzahlige Typen

I1, I2, I4

Ganzzahlige Typen entsprechender Länge

U1, U2, U4

Ganzzahlige Typen ohne Vorzeichen entsprechender Länge

I8

Nicht zutreffend

U8

Nicht zutreffend

R4

Reelle 4-Byte-Zahlen

R8

Reelle 8-Byte-Zahlen

Struct

Object

Interface

Object

SysInt, SysUInt

Ganzzahlige Typen mit entsprechendem Vorzeichen und entsprechender Länge

AnsiBStr

Nicht zutreffend

VariantBool

Boolean

FunctionPtr

Nicht zutreffend

AsAny

Nicht zutreffend

LPArray

Nicht zutreffend

LPStruct

Nicht zutreffend

Error

4-Byte-Ganzzahl

Currency

Decimal

Siehe auch

Weitere Ressourcen

Unterstützung von Marshalling in .NET Compact Framework