我有一个类型来定义和分配一些静态只读字段。 方法太大(LOC)
我违反了规定我想知道我是否有方法的属性,并在规则中使用它(见下文)。在我的源代码中,我需要使用此属性来丢弃“this and which”方法?
示例代码:
示例规则:
答案 0 :(得分:2)
为什么NDepend将静态字段计为方法的LOC
这是因为当你进行静态字段内联初始化时,它会向类构造函数添加一行代码。实际上,只要在类中有一个静态字段内联初始化,C#编译器就会为您的类创建一个静态构造函数。因此,如果你有N个静态字段内联初始化,你有一个方法(类构造函数)有N行代码。
NDepend在此处报告的大方法名为BassAttributeNames..cctor()
。当然,调整代码规则以避免这种匹配的最简单方法是添加子句:
&& !m.IsClassContructor