torutkのブログ

ソフトウェア・エンジニアのブログ

契約による設計

C#のバージョンによる機能追加について調べているときに、クラス名Contractが出てきたので、契約による設計(Design By Contract)の機能がついに入ったようです。言語仕様ではなくクラスライブラリとしての追加らしいですが、詳しく解説しているブログがあったので、まずはメモ。

事前条件、事後条件、不変条件の検査ができるようです。

VisualStudio 2010/C#4.0では、System.Diagnostics.Contracts名前空間でクラスが提供されていました。いろいろ調べてみよう。

MSDNのリファレンスから参照される以下ページによると、実行時検査、静的検査、ドキュメント生成の3つの機能があるが、これらを機能させるためには、追加ダウンロードが必要な模様。

なお、VisualStudio Expressでは利用できない感じ・・・(悲)