我知道 C# 4.0 具有Code Contract
可用于实现后置条件和前置条件的特性。但我只想使用 C# 3.0 来实现它。我正在尝试在我的工作中使用此功能。是否可以attributes
用来实现后置条件和前置条件?
有什么建议吗?
谢谢。
我知道 C# 4.0 具有Code Contract
可用于实现后置条件和前置条件的特性。但我只想使用 C# 3.0 来实现它。我正在尝试在我的工作中使用此功能。是否可以attributes
用来实现后置条件和前置条件?
有什么建议吗?
谢谢。
您可以在 C# 3 和 .NET 3.5中使用代码协定。主要区别在于核心类(而不是工具)已经内置在 .NET 4 中。
对于前置条件和后置条件,我仅使用 Debug.Assert 指令,并且我手动编写了一个bool Invariant()
函数,我Debug.Assert(Invariant())
在相关/非平凡公共方法的进入和退出时调用该函数。
这是手动工作,好的,但它很容易,你很快就会习惯它。此外,它使我能够非常密切地遵循 Eiffel 的合同哲学设计。