我知道C#4.0具有Code Contract
功能,可用于实现后置条件和前置条件。但我只想使用C#3.0实现它。我正在尝试在我的工作中使用此功能。是否可以使用attributes
来实现后置条件和前置条件?
有任何建议吗?
感谢。
答案 0 :(得分:3)
您可以将Code Contracts与C#3和.NET 3.5一起使用。主要区别在于核心类(不是工具)已经内置到.NET 4中。
答案 1 :(得分:0)
我对前置条件和后置条件使用了一个纯粹的Debug.Assert指令,并且我手动编写了一个bool Invariant()
函数,我在相关/非平凡的公共方法的进入和退出时调用Debug.Assert(Invariant())
。
这是手动工作,好的,但它很容易,你很快就习惯了。此外,它允许我非常密切地遵循合同哲学的埃菲尔设计。