C# 断言方法标记的存在性

C# 断言方法标记的存在性,c#,.net,visual-studio,unit-testing,nunit,C#,.net,Visual Studio,Unit Testing,Nunit,是否可以断言此处存在summary标记 /// <summary> this is my summary </summary> public void myMethod() { // dostuff } ///这是我的总结 公共方法() { //多斯塔夫 } 我的方法文档依赖于summary/category/param等标记,我希望确保每个方法都有指定的标记?代码分析器就是为这种情况创建的。您可以在构建过程中生成错误,而不是使用单元测试来验证代码是否具有正确

是否可以断言此处存在summary标记

/// <summary> this is my summary </summary>
public void myMethod()
{
    // dostuff
}
///这是我的总结
公共方法()
{
//多斯塔夫
}

我的方法文档依赖于summary/category/param等标记,我希望确保每个方法都有指定的标记?

代码分析器就是为这种情况创建的。您可以在构建过程中生成错误,而不是使用单元测试来验证代码是否具有正确的注释

对于这种特殊情况,现有的StyleCop分析器可以为您完成这项工作。听起来正是你想要的

因此,如果将添加到解决方案/项目中,然后将SA1600和SA1604设置为错误,则在提供文档之前,将阻止生成代码


如果由于某些原因不符合您的需要,您可以创建自己的分析器来覆盖您的用例。

您可以使用Rosyln代码分析器来完成。您还可以运行生成后步骤,根据XSD架构验证生成的XML。@Steve cool您能给我指一个资源吗?断言是运行时概念,不编译time@DanielA.WhiteNunit中的断言如何?我如何指定必须记录哪些元素?您没有。我提供的规则将涵盖文档存在和摘要标记存在这一事实。如果您需要更多的规则,您可以查看
SA16XX
范围内的其他规则,或者如果这些规则不符合您的需要,您可以创建自己的分析器。我希望它同时具有摘要和类别标记。我没有看到类别标记的分析器,因此您必须自己编写一个。Nooooooo!!!!!!!!!它是否与摘要字符串完全相同,然后我可以将“摘要”字符串的每个实例都更改为“类别”?