Exposing a Collection class to COM

本篇最初在2008年3月26日发表于我的MSN空间

原帖:Return BindingList to VB6 via COM Interop

客户想把.NET数据类型对应在VB6中,在转换BindingList这个泛型时遇到了问题。查了一下MSDN Forum,一个MVP牛人给出了答案:COM类型不支持泛型接口。事实上,有一个简单的方法判断这个类型是否被COM支持,即COMVisible是否为True。例如在这个问题中,客户可以考虑自定义一个继承自ICollection接口的泛型,ICollection是支持ComVisible的。

CodeProject上有一篇非常好的文章,虽然是反向研究在VB中写一个可以在.NET端调用的Collection,但已经非常说明问题了。文章如下

Understanding Classic COM Interoperability With .NET Applications (Using COM Collections from .NET Applications)

客户对这个问题的反馈比较好:Thank you for the reply, it's a great help.

Bruno Yu

posted on 2009-07-18 11:58  清晨  阅读(153)  评论(0编辑  收藏  举报

导航