0

我正在尝试在 C# 应用程序中使用旧的 VB 库。

这个库有几个类,一个特别是有一个方法返回自己的实例示例:Posts post = new Posts().GetLast();

Posts 类有一个属性 Comments,它实际上是 object 类型的。在 VB 中,我可以像通过 a 一样遍历 Comments 属性Microsoft.VisualBasic.Collection,但在 C# 中,我不能将属性强制转换为任何东西,以便使用它。我尝试导入 Microsoft.VisualBasic 命名空间,并将类型转换为 Collection,但它没有返回一个错误,指出 System.__ComObject 必须从库中转换为特定的接口。

集合内部有实现接口 IComments 的对象,我无法转换为接口,因为它是接口的集合。

我还尝试转换为 ICollection (由 实现的接口 Microsoft.VisualBasic.Collection),但没有积极的结果。

关于如何解决这个问题的任何想法,我解决这个问题的唯一方法是将 C# 应用程序更改为 VB 应用程序(不是那么困难,但仍然是我希望避免的事情)

4

1 回答 1

0

通过尝试我能想到的所有接口,使用as运算符并比较结果 null 我发现该属性可以转换为 IEnumerable (逻辑上Microsoft.VisualBasic.Collection实现ICollectionICollection实现IEnumerable)。

于 2012-04-25T13:39:54.830 回答