【问题标题】:How to generate custom StyleCop rule for C# - Conditional Compilation Preprocessor Directives如何为 C# 生成自定义 StyleCop 规则 - 条件编译预处理器指令
【发布时间】:2012-07-11 08:30:49
【问题描述】:

是否可以编写自定义 C# StyleCop 规则来评估条件编译预处理器指令,如 #if、#elif、#else、#endif

我们正在一个需要我们使用条件编译符号的环境中进行开发,我想在此基础上添加我们的自定义编码约定。

这可以通过CsDocument.WalkDocument - 方法实现吗,还是我必须使用其他方法?

(FxCop 在这里无法使用,因为它适用于已编译的二进制文件)。

【问题讨论】:

    标签: c# visual-studio-2010 c-preprocessor stylecop conditional-compilation


    【解决方案1】:

    是的,这是可能的,但 CsDocument.WalkDocument 重载将无济于事,因为预处理器指令仅表示为标记。它们没有对应的元素、语句或表达式。

    要为条件编译指令编写规则,您需要检查 CsDocument.Tokens 集合。例如:

    foreach (var directive in document.Tokens
                                 .Where(t => t.CsTokenClass == CsTokenClass.ConditionalCompilationDirective)
                                 .Cast<ConditionalCompilationDirective>())
    {
        // ...
    }
    

    【讨论】:

      猜你喜欢
      • 2020-01-22
      • 2013-03-12
      • 1970-01-01
      • 2011-07-30
      • 1970-01-01
      • 1970-01-01
      • 2020-04-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多