.NET 4.0には、その新しいコードコントラクト機能があります。ここで説明されているように、インターフェイスでも機能します(コメントのどこかにスクロールダウンしてください)。
今私の質問は、いくつかのMixIns機能を実現するために、これらのコントラクトクラスにさらにカスタムコードを追加することで、この「デフォルトのインターフェイス実装機能」を使用および悪用できるかどうかです。
.NET 4.0には、その新しいコードコントラクト機能があります。ここで説明されているように、インターフェイスでも機能します(コメントのどこかにスクロールダウンしてください)。
今私の質問は、いくつかのMixIns機能を実現するために、これらのコントラクトクラスにさらにカスタムコードを追加することで、この「デフォルトのインターフェイス実装機能」を使用および悪用できるかどうかです。
私はそうは思わない。インターフェイスのコードコントラクトを定義するときに、実装メソッドに追加される「requires」および「ensures」メソッド呼び出しを含むrelaクラスを追加できますが、コードリライタは、コンパイラがその仕事を完了した後にのみ実行されます(つまり、文句を言う)インターフェイスメソッドがクラスによって実装されていないこと...)
ただし、アスペクトを実装するために悪用される可能性があります:-)
とにかく、私はコードリライターが必要なもの以外のものを追加し、メソッドを保証するとは思わない。また、コードはリリースアセンブリに追加されず、デバッグアセンブリにのみ追加されます。