共用方式為


使用 MarshalAsAttribute 屬性

更新:2007 年 11 月

您可以使用 MarshalAsAttribute 屬性 (Attribute),自訂封送處理 (Marshaling) 行為。例如,您可以進行下列工作:

  • 在結構中封送處理陣列和字串

  • 提供所需的彈性,以支援通用 COM Interop 案例

  • 透過平台叫用和 vtable 封送處理器 (相較於 IDispatch 封送處理器而言) 提供封送處理型別的一致性

下表將針對 UnmanagedType 列舉型別中的值,說明封送處理支援。

Unmanaged 型別

型別有效的情況

結構是否支援

BStr, TBStr

String

LPWStr,

LPStr, LPTStr

String

IUnknown

Object

IDispatch

Object

ByValTStr

String (僅限於結構中)

ByValArray

任何陣列

SafeArray

任何陣列

VBByRefStr

String

Bool

Boolean

整數型別

I1, I2, I4

適當長度的整數型別

U1, U2, U4

適當長度且不帶正負號的整數型別

I8

N/A

U8

N/A

R4

4 個位元組的實數

R8

8 個位元組的實數

Struct

Object

Interface

Object

SysInt, SysUInt

適當正負號和長度的整數型別

AnsiBStr

N/A

VariantBool

Boolean

FunctionPtr

N/A

AsAny

N/A

LPArray

N/A

LPStruct

N/A

Error

4 個位元組的整數

Currency

Decimal

請參閱

其他資源

.NET Compact Framework 中的封送處理支援