【发布时间】:2014-11-13 08:51:33
【问题描述】:
似乎对话框结果返回一个可为空的布尔值 (bool?),因此无论何时使用返回对话框,您都应该注意 null 选项(我还在等着看发生.. .).
上面的代码(VS2012,Resharper 8)表明左操作数永远不会为空。任何想法为什么?
bool? dlg_result = some_window.ShowDialog();
bool some_bool = !dlg_result ?? true; // Resharper suggests this won't happen.
这是一个截图,更容易看:
编辑:
我查看了 resharper 文件,从 CommonDialog 和 Control 使用它时,ShowDialog 似乎不会为空,但从 Window 使用它时它可能为空。附上截图。
似乎必须更深入地挖掘,因为我不确定我使用的是哪一个。
【问题讨论】:
-
好吧,你可以看看这个答案,看看 ShowDialog 返回 null 的情况是非常具体的。在这种情况下,我会说它不会发生:stackoverflow.com/questions/990109/…
-
@SonerGönül 好吧,
bool?:) -
@RaphaëlAlthaus 为链接欢呼。我将把它与“修复”resharper 注释结合使用,看看发生了什么。
标签: c# visual-studio-2012 resharper