2

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

需要检查的一些明显错误:

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

可能还有其他我没有想到的聪明检查。

我还没有找到任何支持这一点的工具。代码合同似乎是一个明显的工具,但如果它确实存在,我还没有找到它。

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

4

1 回答 1

1

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

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

一般来说,它们在 C# 代码中比在许多其他语言中要少得多。因此,我怀疑您最好根据需要将此检查包含在这些类型的单元测试中,因为它们只会出现在少数特定类型中。

于 2012-05-25T18:46:15.310 回答