다음을 통해 공유


MarshalAsAttribute 특성 사용

업데이트: 2007년 11월

MarshalAsAttribute 특성을 사용하여 마샬링 동작을 사용자 지정할 수 있습니다. 예를 들어, 아래와 같은 작업을 수행할 수 있습니다.

  • 배열과 문자열을 구조체로 마샬링합니다.

  • 일반적인 COM Interop 시나리오를 지원하는 데 필요한 유연성을 제공합니다.

  • 플랫폼 호출 및 vtable 마샬러를 통해 IDispatch 마샬러에 비해 일관된 마샬링 형식을 제공합니다.

다음 표에서는 UnmanagedType 열거형의 값에 대한 마샬링 지원을 설명합니다.

관리되지 않는 형식

올바른 형식

지원되는 구조체

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의 마샬링 지원