StyleCop 抱怨的语法错误是什么?

What is the Syntax error StyleCop is complaining about?

使用 Jon Skeet 的 MiscUtil library 中的代码,我遇到了这个构造函数:

public SmartEnumerable(IEnumerable<T> enumerable)
{
    if (enumerable == null)
    {
        throw new ArgumentNullException ("enumerable");
    }

    this.enumerable = enumerable;
}

我同时安装了 ReSharper 和 StyleCop 扩展。我很好奇这里的 R# 建议是什么。它将代码简化为以下内容:

public SmartEnumerable(IEnumerable<T> enumerable)
{
    this.enumerable = enumerable ?? throw new ArgumentNullException(nameof(enumerable));
}

然而,StyleCop 立即抱怨并显示错误消息:

A syntax error has been discovered in file SmartEnumerable.cs [StyleCop Rule: SA0102]

我正在使用 VS2017 开发 .NET Standard 1.6 项目。

StyleCop 不支持 all of the latest C# language features. This particular behaviour you have found is a known issue.

我建议您切换到 StyleCop Analyzers