Как может статический объект readonly стать нулевым? (Я установил объект _lock как статический, а не статический, но всегда только для чтения.)Null объект блокировки только для чтения
Метод проверки корректно работает несколько раз, затем после его вызова в 2-3 раза объект _lock имеет значение null. Является ли это индикатором того, что замок принадлежит другому потоку?
Хорошо, это может произойти, если вы будете злоупотреблять отражением. Вы уверены, что в вашем коде ничего не может быть? ('typeof (YourClass) .GetField (" _ lock ", BindingFlags.NonPublic | BindingFlags.Static) .SetValue (null, null)' установит поле в null) –
@Community: это правильный вопрос, пожалуйста, не закрывайте это как «offtopic», так как это явно не – zerkms
Можете ли вы попробовать и уменьшить свой код до [минимального, полного и проверяемого примера] (http://stackoverflow.com/help/mcve)? Удалите код, пока a) он не будет минимальным, и вы можете разместить его здесь, или b) проблема исчезнет, и вы сами узнаете ответ. – dcastro