1

我有这样的代码:

我们的一些客户在以下代码块中收到“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是共享的,从未从其他任何地方触及过?

4

2 回答 2

1

我的猜测是您过于简化了示例代码 - 它必须通过其他方式来实现Nothing。或者,您的锁定方法在CheckStuff完成初始化之前被调用。堆栈跟踪会很有帮助。

于 2009-10-31T18:33:02.477 回答
0

也许类似的问题 - System.ArgumentNullException in ResourceManager.GetString internals

于 2010-12-01T10:13:31.687 回答