c# - Fxcop 自定义规则检查派生类名称以基类名称结尾

标签 c# code-analysis fxcop

我正在尝试开发自定义 fxcop 规则来检查以基类名称结尾的派生类的名称。

我主要关心的是Fxcop.Sdk中有任何属性可以知道该特定类是否派生自任何基类?如果是,那么如何?

如何实现此规则?

最佳答案

是的,是的,你可以。看看下面的图片:

enter image description here

您在这里看到的是来自 introspector 的屏幕截图,这是一个帮助您开发 FxCop 规则的工具。

如您所见,每个类都有一个属性BaseTypeBaseClass。您可以使用它们来检查该类是否继承自任何内容。

请注意,在内省(introspection)模型中,例如,不从任何对象派生的类将显示为从 Object 派生。

您可以跳过这些(以及任何其他可能的错误):

public override ProblemCollection Check(TypeNode type)
{
    ClassNode classNode = type as ClassNode;
    if (classNode == null)
        return;
    if (classNode.BaseType == null)
        return;
    if (classNode.BaseType == FrameworkTypes.Object)
        return;

    // Namechecking logic

    return Problems;
}

关于c# - Fxcop 自定义规则检查派生类名称以基类名称结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24300284/

相关文章:

c# - 关闭连接前关闭阅读器

java - 新的 Sonar IntelliJ 插件增量分析和检测不起作用

python - 获取重新创建对象所需的导入

C# :Cyclomatic Complexity of a method with FxCop sdk

c# - FxCop 警告 CA1006 是否有任何好的解决方法?

c# - Matrix4x4 相机方法的惯用手性

c# - 获取花括号之间的值c#

c# - 使用 Dispatcher.Run() 时如何避免竞争条件?

visual-studio-2008 - 如何从 VS2008 代码分析中排除 MFC 代码

c# - 在 C# 中覆盖 Object.Equals() 实例方法;现在代码分析/FxCop 警告 CA2218 : "should also redefine GetHashCode". 我应该抑制这个吗?