如何阻止Resharper在Enumerable.ToList和Select建议之间切换

时间:2015-11-18 11:41:52

标签: c# resharper resharper-9.0

如果我使用Resharper代码清理功能,我找到了我的代码......

var personInfos = persons.Select(Mapper.Map<PersonInfo>).ToList();

更改为...

var personInfos = Enumerable.ToList(persons.Select(Mapper.Map<PersonInfo>));

然后Resharper提出了一个建议&#34;对扩展方法的调用&#34;对于Enumerable.ToList,所以代码可以追溯到......

var personInfos = persons.Select(Mapper.Map<PersonInfo>).ToList();

我已经检查了Resharper代码编辑选项,但我无法看到我可以在何处/如何阻止此切换行为

3 个答案:

答案 0 :(得分:3)

我认为@Matthias可能是正确的

我已更新到当前的Resharper,即 2016.1.2 并尝试了代码......

var personInfos = persons.Select(Mapper.Map<PersonInfo>).ToList();

Resharper不再提供建议

和@ Vlad274这是我的代码清理Optimise 'using' directivesShorten qualified references两者仍然检查

答案 1 :(得分:0)

要解决此问题,您需要创建自定义清理配置文件。需要关闭的两个设置将在下面突出显示。

Settings

默认情况下,完全清除已打开两个设置。如果打开任一设置,清理将进行此切换。

答案 2 :(得分:0)

作为升级的替代方案,也许是更通用的解决方案:

在代码检查菜单下,您应该检查“转换静态方法调用...”,有一个名为“配置检查严重性”的选项。在这里你应该可以选择:不显示。

当然,如果将这些首选项保存到共享设置文件中,那么最佳工作效果最佳,以便所有使用此解决方案的人自动共享此设置。