COM内置数据类型

COM 数据类型

  下表显示在 COM 中使用的数据类型及其相应的 .NET Framework 内置值类型或类。   此表中没有显式标识的任何类型都将被转换为 Int32 系统类型。   有关 Visual Basic 2005、C# 和 C++ 中的相应类型,请参见 .NET Framework 类库介绍

COM 值类型

COM 引用类型

系统类型

bool

bool *

System::Int32

charsmall

char *small *

System::SByte

short

short *

System::Int16

longint

long *int *

System::Int32

Hyper

hyper *

System::Int64

unsigned charbyte

unsigned char *byte *

System::Byte

wchar_tunsigned short

wchar_t *unsigned short *

System::UInt16

unsigned longunsigned int

unsigned long *unsigned int *

System::UInt32

unsigned hyper

unsigned hyper *

System::UInt64

float

float *

System::Single

double

double *

System::Double

VARIANT_BOOL

VARIANT_BOOL *

System::Boolean

void *

void **

System::IntPtr

HRESULT

HRESULT *

System.Int16 或 System.IntPtr

SCODE

SCODE *

System.Int32

BSTR

BSTR *

System::String

LPSTR 或 [string, …] char *

LPSTR *

System.String

LPWSTR 或 [string, …] wchar_t *

LPWSTR *

System.String

VARIANT

VARIANT *

System::Object

DECIMAL

DECIMAL *

System::Decimal

DATE

DATE *

System::DateTime

GUID

GUID *

System::Guid

CURRENCY

CURRENCY *

System::Decimal

IUnknown *

IUnknown **

System.Object

IDispatch *

IDispatch **

System.Object

SAFEARRAY(type)

SAFEARRAY(type) *

type[]

下表列出了转换为对应的元素类型的 COM 值和引用类型。 例如,COM coclass 自动映射到同名的托管类。

COM 值类型

COM 引用类型

元素类型

Typedef BaseTypeMyType

ByRef BaseType

BaseType

MyStruct

ByRef VALUETYPE<MyStruct>

valuetype<MyStruct>

MyEnum

ByRef VALUETYPE<MyEnum>

valuetype<MyEnum>

MyInterface *

ByRef CLASS <MyInterface>

Class <MyInterface>

MyCoClass

ByRef CLASS <_Class>

Class<_Class>

你可能感兴趣的:(数据类型,com)