2

.NET 4.0には、その新しいコードコントラクト機能があります。ここで説明されているように、インターフェイスでも機能します(コメントのどこかにスクロールダウンしてください)。

http://weblogs.asp.net/podwysocki/archive/2008/11/08/code-contracts-for-net-4-0-spec-comes-alive.aspx

今私の質問は、いくつかのMixIns機能を実現するために、これらのコントラクトクラスにさらにカスタムコードを追加することで、この「デフォルトのインターフェイス実装機能」を使用および悪用できるかどうかです。

4

1 に答える 1

2

私はそうは思わない。インターフェイスのコードコントラクトを定義するときに、実装メソッドに追加される「requires」および「ensures」メソッド呼び出しを含むrelaクラスを追加できますが、コードリライタは、コンパイラがその仕事を完了した後にのみ実行されます(つまり、文句を言う)インターフェイスメソッドがクラスによって実装されていないこと...)

ただし、アスペクトを実装するために悪用される可能性があります:-)

とにかく、私はコードリライターが必要なもの以外のものを追加し、メソッドを保証するとは思わない。また、コードはリリースアセンブリに追加されず、デバッグアセンブリにのみ追加されます。

于 2010-01-09T18:46:16.887 に答える