我想创建一个 Style Cop 规则,如果一个类直接继承自System.Web.UI.Page
. 我能够获得一个StyleCop.CSharp.Class
代表我正在查看的任何类的实例,但从那里我有点不知所措。Class 对象(StyleCop 的,而不是 System)有一个Declaration
属性,可以让我获得声明中的所有内容......其中包括继承的类名。但这并不一定保证唯一性。
检测到这一点很容易:
public class Foobar : System.Web.UI.Page {}
但是这样的情况变得很糟糕......
using Page = System.Web.UI.Page;
public class Foobar : Page {}
尤其是当您有其他具有这样声明的类时
using Page = Company.Some.Thing.Page;
public class Foobar : Page {}
如何创建具有严格类型检查的规则,该规则不会被不同命名空间中具有相同名称的类绊倒?