[译]在托管代码中使用“变体”类型

1。介绍

作者: LIM BIO LIONG  原文地址

1.1变体类型VARIANT是非托管COM开发中常用的结构。
1.2变体是指各种COM类型的通用容器(事实上,COM子系统的子集合中识别的每种类型称为OLE automation)。
1.3它在托管世界中的对应项是System.Object类型,它也是所有托管类型的通用容器。
1.4本博客是一篇改进的文章,它取代了早期的C#Interop:How to return a VARIANT from an Unmanaged Function。
1.5在本博客中,我旨在演示如何从非托管API接收变体。研究了两种技术(一种是低级的,另一种是高级的),并提供了一些确定潜在变体类型的技巧。
1.6为了演示目的,我们将使用C++实现非托管API,并使用C#来编码托管应用程序。

阅读更多