以下代码
if (_LastMouseClickArea != null)
{
if (_LastMouseClickArea.GridItem == GridItem.DataCell)
{...失败,因为_LastMouseClickArea为null。我知道这听起来很傻,所以我来这里。
在即时窗口中:
_LastMouseClickArea != null
true
_LastMouseClickArea
null
_LastMouseClickArea == null
false
_LastMouseClickArea.GetType()
'((object)(this._LastMouseClickArea))' is null是什么导致了这种行为?
发布于 2012-04-26 21:33:18
解决方案:在提交之前,我记得做了一些橡皮鸭调试。这让我检查了==是如何实现的,果然,有一些奇怪的P/Invoke调用,对于这个调用,null != null等于true。
因此,如果有人遇到同样的问题,这里是供将来参考的。
发布于 2012-04-26 21:27:22
你有没有可能得了竞赛症?在检查时,它不是null,但在您能够使用它之前,线程会将其设置为null。
https://stackoverflow.com/questions/10334375
复制相似问题