3

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

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

示例代码:

在此处输入图像描述

示例规则:

在此处输入图像描述

4

1 回答 1

2

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

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

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

&& !m.IsClassContructor

于 2013-08-23T14:21:16.523 回答