如何将以下VB代码转换为C#代码?
Set atDIOAOIPIsReady = _
atDIOGObjRepos.InsertOutputObjectIfNew(sIPIsReadyID, atDIOAOIPIsReady)
我的想法是:
atDIOAOIPIsReady -= atDIOGObjRepos.InsertOutputObjectIfNew(ref sIPIsReadyID,atDIOAOIPIsReady);
但它向我显示了如下错误:
的最佳重载方法匹配
ActivVTools._AVTDIOFObjectRepository.InsetOutputObjectIfNew(ref string, ref ActivVTools._IAVTDIOObject)
有一些无效的论点。
必须使用'ref'关键字
ActivVTools.AVTDIOActionObjectClass
转换为ref ActivVTools._IAVTDIOObject
答案 0 :(得分:1)
基于documentation(pdf),您需要先创建一个AVTDIOActionObjectClass对象。在他们展示的示例中,他们设置了Description属性,这是不必要的。
SET关键字是VB6,用于指定对变量的引用。现在用VB.NET已经不再使用/需要了。
C#代码将是(请参阅ref
关键字以获取第二个参数):
AVTDIOActionObjectClass atDIOAOIPIsReady=new AVTDIOActionObjectClass ();
atDIOAOIPIsReady= atDIOGObjRepos.InsertOutputObjectIfNew(ref sIPIsReadyID,
ref atDIOAOIPIsReady);
答案 1 :(得分:0)
试试这个:
atDIOAOIPIsReady = atDIOGObjRepos.InsertOutputObjectIfNew(ref sIPIsReadyID, atDIOAOIPIsReady);