1

我已经使用工具将 ac# 程序转换为 vb.net 该程序在 c# 中运行良好

在VB我得到这个错误

Public member 'get_SymbolList' on type 'ConnectionControlClass' not found."}

在这条线上

oList = axTradeIdeasWindowX1.Connection.get_SymbolList(CType(i,Integer))

在 C#

这条线工作正常

oList = axTradeIdeasWindowX1.Connection.get_SymbolList(CType(i,Integer))

任何想法可能是什么问题。我检查了程序列表中的每一行,遍历了 Objects could not find get_SymbolListonly foundSymbolList 是否get_是 C# 构造以及是否有 vb.net 等价物

4

1 回答 1

7

显然 axTradeIdeasWindowX1 是一个 ActiveX 对象。C# 代码必须get_在 SymbolList 属性上使用前缀,因为 C# 语言不支持索引属性。这在 COM 和 VB.NET 中都不是问题。因此,VB.NET 编译器在导入互操作库时并没有像 C# 编译器那样在方法中转换属性。不再有 get_SymbolList() 方法,只有 SymbolList 属性。您可以通过使用对象浏览器查看互操作库来看到这一点。

get_因此,只需通过省略前缀来解决您的问题。

于 2013-01-12T14:23:08.977 回答