System.Threading.Monitor.Enter中的System.ArgumentNullException

时间:2009-10-31 18:28:27

标签: .net multithreading exception monitor

我有一个这样的代码:

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

Public Class CheckStuff

   Private Shared SLock As New Object

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

这怎么可能?考虑到SLock是共享的,从未接触过任何其他地方?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)