复制构造函数静态分析工具?

时间:2012-05-25 18:43:50

标签: c#

是否有任何工具可以让我将C#方法/构造函数标记为复制构造函数并让它检查代码是否存在复制构造函数scneario中可能出现的明显错误?

要检查的一些明显错误:

  • 如果它应该是一个深层复制,但显然正在发生浅层复制
  • 如果它应该是浅拷贝但是正在发生深层拷贝
  • 源上未被复制的字段
  • 目标上未被复制的字段

可能还有其他一些我没想过的聪明的检查。

我还没有找到任何支持此功能的工具。代码契约似乎是一个明显的工具,但如果确实存在,我还没有找到它。

在静态分析工具之外,是否还有其他技巧可以确保复制构造函数保持最新状态?

1 个答案:

答案 0 :(得分:1)

单元测试可能是你最好的工具。

C#不会自动创建复制构造函数,如C ++和其他一些语言。因此,这通常不是C ++中的问题。

一般来说,在C#代码中,它们往往比许多其他语言更为罕见。因此,我怀疑你最好根据需要在这些类型的单元测试中包括这个检查,因为它们只有几种特定的类型。