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

How to stop Resharper toggling between Enumerable.ToList and Select suggestion

如果我使用 Resharper 代码清理功能,我发现我的代码...

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

更改为...

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

但是 Resharper 为 Enumerable.ToList 提出了一个建议 "To extension method invocation" 所以代码返回到 ...

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

我已经检查了 Resharper 代码编辑选项,但我看不到 where/how 我可以停止这种切换行为

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

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

我认为@Matthias 可能是正确的

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

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

Resharper 不再提供建议

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

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

在代码检查菜单下你应该检查 'Convert static method invocation ... ' 有一个名为 'configure inspection severity' 的选项。这里应该可以 select: 不显示。

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