2009-10-31 39 views
1

我有这样的代码:System.ArgumentNullException在System.Threading.Monitor.Enter

我们的一些客户在下面的代码块接收“System.ArgumentNullException在System.Threading.Monitor.Enter”的:

Public Class CheckStuff 

    Private Shared SLock As New Object 

    Public Sub GetIt() 
      Synclock SLock 
      DoSomething() 
      End Synclock  
    End Sub 
End Class 

这怎么可能?考虑到SLock是共享的,从来没有触及过其他地方?

+1

面对同样的问题。你有没有找到这个问题的任何解决方案? – prem 2015-01-30 09:34:18

+0

我也有这个问题。解决方案是微不足道的 - 我没有实例化锁对象。 – 2015-11-15 17:44:07

回答

1

我的猜测是你已经简化了你的示例代码 - 它必须从别的东西上触及,使其成为Nothing。或者,您的锁定方法在CheckStuff完成初始化之前调用。堆栈跟踪将会有所帮助。

+0

这就是问题所在,我只查找所有参考文献,而没有。此外,在我们的开发或测试环境中,这种情况从未发生,尽管有2位客户报告。 – 2009-10-31 19:29:58

+1

你有堆栈痕迹吗? – 2009-10-31 19:51:27

+0

System.Threading.Monitor.Enter(obj As Object).. ThreadAcc.exe:N 00000. GetIt()...从GUI调用 – 2010-02-27 13:15:24

相关问题