在.NET和基于COM的组件之间传递时,必须转换哪种类型的数据?

时间:2011-07-23 21:57:36

标签: c# .net c#-4.0 com

以下问题的正确答案是什么:

在.NET和基于COM的组件之间传递时,必须转换哪种类型的数据?

  1. 仅包含简单值类型的类对象
  2. 基于COM的不变量
  3. 一维数组
  4. 基于COM的BSTR数据
  5. 简单值类型

1 个答案:

答案 0 :(得分:0)

看来你问的是blittable类型。有关blittable类型的信息,请参阅MSDN

this MSDN area中关于互操作封送的大量有用信息。

  1. 对于包含值类型的对象,您可以实现IConvertible interface,您可以在其中定义每个类成员如何转换为COM变体类型。请参阅this MSDN article
  2. 中的详情
  3. 您可以将托管类型与COM类型here进行比较。
  4. blittable类型的一维数组,例如整数数组,是blittable。但是,包含blittable类型的可变数组的类型本身不会是blittable。
  5. 默认情况下,System.String被封送到BSTR,反之亦然。
  6. 大多数简单类型都是不需要转换的blittable类型。见以前的参考文献。