Copy Constructor Static Analysis Tool?
<p>Is there any tooling out there that will let me tag a C# method / constructor as a copy-constructor and have it check that code for the obvious mistakes which can occur in a copy-constructor scneario?</p>

<p>Some obvious mistakes to check for:   </p>

<ul>
<li>If it's supposed to be a deep copy but a shallow copy is obviously happening</li>
<li>If it's supposed to be a shallow copy but a deep copy is happening</li>
<li>Fields on the source which are not being copied</li>
<li>Field on the target which are not being copied</li>
</ul>

<p>There are probably other clever checks i haven't thought of.</p>

<p>I haven't found any tooling that has anything supporting this. Code Contracts seems like an obvious tool to have this, but i haven't found it if it does exist.</p>

<p>Outside of a static analysis tool, are there any other tricks to make sure copy-constructors stay up-to-date?</p>
