繁体   English   中英

编组从VB6到C#的对象列表

[英]Marshal a list of objects from VB6 to C#

我有一个开发,需要在VB6应用程序和C#类库之间传递对象。 对象在C#类库中定义,并用作同一库中其他类公开的方法的参数。 这些对象都包含简单的字符串/数字属性,因此封送相对无痛。

我们现在需要传递一个包含其他对象列表的对象。 如果我在VB6中对此进行编码,我可能会有一个包含集合作为成员变量的类。 在C#中,我可能有一个带有List成员变量的类。

是否可以构建一个C#类,使VB6应用程序可以填充此内部列表并成功编组? 我在这里没有很多经验,但我想我必须使用一个Object类型数组。

COM中的选项比C#中的选项更受限制:

  • 你不能使用泛型(COM不支持这个,TLBEXP将它们排除在外)

  • 有旧的ArrayList类。 或者数组。

  • COM互操作层将自动为实现IEnumerable(非泛型版本)的C#类生成COM枚举器,您可以使用For Each在VB6端迭代它。

  • 类似地,它为实现COM枚举器的COM类生成IEnumerable。 您可以在C#代码中使用foreach来枚举VB6 Collection。 根据谁创建集合,在它们之间进行选择。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM