設計

Debug.Assertの遅延評価

以前にC#によるDesign by Contractのやり方を紹介した.簡単におさらいしておくと以下のように実装する. using System.Diagnostics public class Foo { public void Bar(object baz) { Invalid() //不変条件 //事前条件 Debug.Assert(baz != null); //処理 …

Design By Contract

C#で契約による設計はSystem.DiagnosticsネームスペースのDebug.Assertメソッドを使用して行うようだ. 例えば事前条件と事後条件のチェックは以下のように行う. using System.Diagnostics public class Foo { public void Bar(object baz) { //事前条件 De…