对于Resharper来说,这行代码是否过于先进?

时间:2015-02-04 05:26:24

标签: c# resharper-9.0

几分钟前,我在C#中把一些东西扔到一起,编写了以下代码:

private void ReportCheckState( String message , bool state ) {
            ( ( NovaEngineEditor )this.Parent ).EditorStatusBar.ShowMessage( ( message += state ? " Enabled." : " Disabled." ) );
        }

令我惊讶的是,Resharper显然认为附加了变量" message"不会在任何执行路径中使用。然而,这不是真的。它被使用,它的工作方式与预期一致。那么我真的找到了一种超越Resharper的方法吗?这是一个屏幕抓取(注意灰色文本):

enter image description here

这是表格上显示的最终输出图像;它确实可以正常工作!

enter image description here

1 个答案:

答案 0 :(得分:4)

让我们突破代码

message += state ? " Enabled." : " Disabled."

相同

message = message + (state ? " Enabled." : " Disabled.");

由于您不再使用message变量,因此分配是多余的。

你真的想要

message + (state ? " Enabled." : " Disabled.");