为什么NDepend将静态字段计为方法的LOC

时间:2013-08-22 14:56:40

标签: ndepend lines-of-code

我有一个类型来定义和分配一些静态只读字段。 方法太大(LOC)

我违反了规定

我想知道我是否有方法的属性,并在规则中使用它(见下文)。在我的源代码中,我需要使用此属性来丢弃“this and which”方法?

示例代码:

enter image description here

示例规则:

enter image description here

1 个答案:

答案 0 :(得分:2)

为什么NDepend将静态字段计为方法的LOC

这是因为当你进行静态字段内联初始化时,它会向类构造函数添加一行代码。实际上,只要在类中有一个静态字段内联初始化,C#编译器就会为您的类创建一个静态构造函数。因此,如果你有N个静态字段内联初始化,你有一个方法(类构造函数)有N行代码。

NDepend在此处报告的大方法名为BassAttributeNames..cctor()。当然,调整代码规则以避免这种匹配的最简单方法是添加子句:

&& !m.IsClassContructor