封送类、结构和联合

更新:2007 年 11 月

类和结构在 .NET Framework 中是类似的。它们都可以具有字段、属性和事件。它们也有静态和非静态方法。一个显著区别是结构属于值类型而类属于引用类型。

下表列出类、结构和联合的封送处理选项;描述它们的用法;提供到相应的平台调用示例的链接。

类型

说明

示例

通过值传递的类。

将具有整数成员的类作为 In/Out 参数传递,与托管的情形相同。

SysTime

通过值传递的结构。

将结构作为 In 参数传递。

结构

通过引用传递的结构。

将结构作为 In/Out 参数传递。

OSInfo

具有嵌套结构的结构(单一化)。

传递在非托管函数中表示具有嵌套结构的结构的类。该结构在托管原型中被单一化为一个大结构。

FindFile

具有嵌套结构的结构(未单一化)。

传递具有嵌入结构的结构。

结构

具有指向其他结构的指针的结构。

传递包含指向另一个结构的指针作为成员的结构。

结构

具有通过值传递的整数的结构数组。

传递只包含将整数作为 In/Out 参数的结构的数组。可以更改数组的成员。

数组

具有通过引用传递的整数和字符串的结构数组。

将包含整数和字符串的结构数组作为 Out 参数传递。被调用函数为该数组分配内存。

OutArrayOfStructs

具有值类型的联合。

传递具有值类型(整型和双精度型)的联合。

Unions

具有混合类型的联合。

传递具有混合类型(整型和字符串类型)的联合。

Unions

结构中的空值。

传递空引用(在 Visual Basic 中为 Nothing),而不是对值类型的引用。

HandleRef

请参见

概念

平台调用数据类型

封送字符串

封送类型数组

其他封送处理示例

其他资源

用平台调用封送数据