如何:从 COM 引用 .NET 类型

从客户端和服务器代码的角度看,COM 和 .NET Framework 之间的区别在很大程度上是不可见的。 Microsoft Visual Basic 客户端可在对象浏览器中查看 .NET 对象,这将公开对象方法和语法、属性和字段,正如任何其他 COM 对象那样。

尽管使用相同的工具将元数据导出到 COM 类型库,导入类型库的过程对于 C++ 客户端来说稍微复杂一些。 要从非托管 C++ 客户端引用 .NET 对象成员,通过“#import”指令引用 TLB 文件(使用 Tlbexp.exe 生成)。 从 C++ 引用类型库时,必须指定“raw_interfaces_only”选项或在基类库 Mscorlib.tlb 中导入定义。

导入库

  • 在“#import”指令中指定“raw_interfaces_only”选项。 例如:

    #import "..\LoanLib\LoanLib.tlb" raw_interfaces_only  
    

    \- 或 -

  • 包括用于 Mscorlib.tlb 的 #import 指令。 例如:

    #import "mscorlib.tlb"  
    #import "..\LoanLib\LoanLib.tlb"  
    

请参阅