Phi*_*ore 5

这些是基于框架的,与语言无关的方法,用于在.NET中定义代码契约.虽然spec#和Delphi Prism等一些语言对代码契约具有一流的语言支持,但这种基于框架的方法使其可用于所有.NET语言.IronRuby,IronPython,F#,VB.NET等

Require()是对ENTRY的方法级别检查,Ensure()是对EXIT的方法级别检查,而Assert()是在它被调用的任何点上的检查.也就是说,无论在哪个执行点应用这些方法,都会评估传递给它们的条件.如果不满足该条件,则会发生错误.