【发布时间】:2014-11-27 00:09:08
【问题描述】:
静态只读对象如何变为空? (我已将 _lock 对象设置为静态而非静态,但始终为只读。)
validate 方法可以正常工作几次,然后在调用 2-3 次后 _lock 对象为空。这是否表明锁由另一个线程拥有?
【问题讨论】:
-
好吧,如果你滥用反射,就会发生这种情况。您确信您的代码中没有任何内容可以想象吗? (
typeof(YourClass).GetField("_lock", BindingFlags.NonPublic | BindingFlags.Static).SetValue(null, null)会将字段设置为空) -
@Community:这是一个有效的问题,请不要将其关闭为“离题”,因为它显然不是
-
你能试着把你的代码减少到minimal, complete and verifiable example吗?删除代码,直到 a) 它是最小的,你可以在这里发布,或者 b) 问题消失,你自己找到答案。
-
Visual Studio 对
_lock的定义有什么看法,并在名称下划线? -
你需要发布一个好的代码示例。调试器中几行代码的屏幕截图并没有为任何人提供足够的上下文来告诉您发生了什么。见stackoverflow.com/help/mcve
标签: c#