草庐IT

disposeLock

全部标签

c# - 从终结器处理时,只读字段变为空

我有以下类(class)。现在有时lock语句会抛出ArgumentNullException,在这种情况下,我可以在调试器中看到disposelock对象确实为null。正如我所看到的,disposing是false,我知道该方法是从Finalizer触发的。但这怎么可能发生呢?它被定义为只读,并在创建对象时获取其值。PS:我知道这不是一个好的模式,但它是给定代码的一部分,我只是无法解释为什么它会变成nullpublicabstractclassDisposableMarshalByRefObject:MarshalByRefObject,IDisposable{privaterea

c# - 从终结器处理时,只读字段变为空

我有以下类(class)。现在有时lock语句会抛出ArgumentNullException,在这种情况下,我可以在调试器中看到disposelock对象确实为null。正如我所看到的,disposing是false,我知道该方法是从Finalizer触发的。但这怎么可能发生呢?它被定义为只读,并在创建对象时获取其值。PS:我知道这不是一个好的模式,但它是给定代码的一部分,我只是无法解释为什么它会变成nullpublicabstractclassDisposableMarshalByRefObject:MarshalByRefObject,IDisposable{privaterea