如何将'Set'从Vb转换为C#

时间:2013-09-30 06:20:05

标签: c# vb.net

如何将以下VB代码转换为C#代码?

Set atDIOAOIPIsReady = _
atDIOGObjRepos.InsertOutputObjectIfNew(sIPIsReadyID, atDIOAOIPIsReady)

我的想法是:

atDIOAOIPIsReady -= atDIOGObjRepos.InsertOutputObjectIfNew(ref sIPIsReadyID,atDIOAOIPIsReady);

但它向我显示了如下错误:

  1. 的最佳重载方法匹配
    ActivVTools._AVTDIOFObjectRepository.InsetOutputObjectIfNew(ref string, ref ActivVTools._IAVTDIOObject)
    

    有一些无效的论点。

  2. 必须使用'ref'关键字

  3. 传递参​​数'1'
  4. 参数'2'无法从ActivVTools.AVTDIOActionObjectClass转换为ref ActivVTools._IAVTDIOObject

2 个答案:

答案 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);