首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >我的代码适用于VB语法,但不适用于C#语法

我的代码适用于VB语法,但不适用于C#语法
EN

Stack Overflow用户
提问于 2019-05-31 03:31:38
回答 1查看 147关注 0票数 -3

在我的vb.net中,我有这样的代码:

代码语言:javascript
复制
Private WithEvents RF As SiritController2._0.RFIDController

Public Sub StartReaders()
    RF = New SiritController2._0.RFIDController(HP.RfIdAddress, HP.RfIdUserName, HP.RfIdPassword, HP.RfIdAntena)
EndSub

在我的c#中,我有这样的代码:

代码语言:javascript
复制
private RFIDController reader;

private void Start()
{
    reader = new RFIDController(HP.RfIdAddress, "HP.RfIdUserName", "HP.RfIdPassword", HP.RfIdAntena);
    reader.DetectRFID += Reader_DetectRFID;
}

这两个代码在同一构造函数上调用同一个类

代码语言:javascript
复制
public RFIDController(string HostIP, string userName, string userPass, string AntennaNoPort = "1")
{
  RFIDController.__ENCAddToList((object) this);
  this.SvcTimerInterval = 45000;
  this.ReaderTimeOut = 1000;
  this.RaiseEventDelay = 0;
  this._lastReadRFTagNumber = string.Empty;
  this._LRRFT = new RFIDController.LastReadRFTagNumber();
  try
  {
    if (string.IsNullOrEmpty(userName) | string.IsNullOrEmpty(userPass))
      throw new Exception("Reader username or password cannot be empty.");
    this.IPAddress = HostIP;
    this.ReaderUser = userName;
    this.ReaderPW = userPass;
    this.AntennaNo = AntennaNoPort;
    this.Connect();
  }
  catch (Exception ex)
  {
    ProjectData.SetProjectError(ex);
    throw new Exception("Error occured while instantiating controller : " + ex.InnerException.ToString());
  }
}

为什么我得到的错误是

“对象引用未设置为实例”

在我的C#代码中而不是VB代码中?经过检查,我可以看到我的参数被填满了。

EN

回答 1

Stack Overflow用户

发布于 2019-05-31 03:56:55

代码语言:javascript
复制
reader = new RFIDController(HP.RfIdAddress, "HP.RfIdUserName", "HP.RfIdPassword", HP.RfIdAntena);

应该是:

代码语言:javascript
复制
reader = new RFIDController(HP.RfIdAddress, HR.RfIdUserName, HP.RfIdPassword, HP.RfIdAntena);

而且,并不是每个异常都有InnerException。因此,这会导致NullReferenceException,在catch块调用时隐藏真正的错误:

代码语言:javascript
复制
ex.InnerException.ToString()
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56384552

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档