使用 ReSharper 将所有的 `!stuffs.IsEmpty()' 替换为 `stuffs.Any()'

Replace all `!stuffs.IsEmpty()' by `stuffs.Any()' with ReSharper

我在开发一个应用程序,我们使用这个 IEnumerable 扩展:

public static bool IsEmpty<TSource>([NoEnumeration] this IEnumerable<TSource> source)
{
    return !source.Any(); // not actual implementation
}

但是很多用法是这样的:

var notEmpty = !stuffs.IsEmpty()

这里我得到了一个双重的(无用的)否定。

我想自动重构所有这些用法,如下所示:

var notEmpty = stuffs.Any()

最简单的方法是什么?使用 ReSharper ?

是的,您可以使用 ReSharper 的 Structural Search and Replace 来做到这一点。您甚至可以保存模式(到团队共享设置)以在编辑器中创建自定义突出显示(转到 选项 | 代码检查 | 自定义模式)。