如果公共成员未记录,C#编译器会显示警告(CS1591):
警告...缺少公开可见类型或成员的XML评论......
包括所有属性,方法,类,枚举值等。
问题:有没有办法配置这种类型的警告只标记未记录的方法?我使用Visual Studio 2010 Ultimate和ReSharper 8.2。
示例:
public class MyClass // warning
{
public MyClass(int x) { ... } // warning
public void DoSomething() { ... } // warning
public int MyProp { get; private set; } // prevent this warning
}
public enum MyEnum // warning
{
X = 0, // prevent this warning
Y = 1 // prevent this warning
}
答案 0 :(得分:22)
答案 1 :(得分:8)
不,没有办法。如果指定了/doc选项,则会生成警告。此选项没有任何参数来仅记录方法。因此,检查添加到文档的任何条目。
但是,您可以使用pragma warning停用警告,但即使您对字段和属性进行分组,IMO也不是很方便。
答案 2 :(得分:2)
在当前的Visual Studio版本中,您可以在类型或成员上使用SuppressMessageAttribute
。
[System.Diagnostics.CodeAnalysis.SuppressMessage("Compiler", "CS1591:Missing XML comment for publicly visible type or member", Justification = "<Pending>")]
有关该属性的更多详细信息,请参见:https://docs.microsoft.com/en-us/visualstudio/code-quality/in-source-suppression-overview?view=vs-2019
答案 3 :(得分:0)
在 *.csproj 文件中添加 [NoWarn] 以禁用它。
<PropertyGroup>
<NoWarn>$(NoWarn);1591</NoWarn>
<RunAnalyzersDuringBuild>true</RunAnalyzersDuringBuild>
<EnableNETAnalyzers>true</EnableNETAnalyzers>
<AnalysisMode>AllEnabledByDefault</AnalysisMode>
<AnalysisLevel>latest</AnalysisLevel>
</PropertyGroup>