Contract.Requires和Contract.Ensures的区别

8
我在微软网站上查看了差异,但无法真正看出区别。以下是有关网站的链接: 如有任何额外的解释,将会很好。
使用Visual Studio C#。
1个回答

9
Requires是一个前置条件,这意味着在调用方法之前必须满足指定的条件。 Ensures是一个后置条件,这意味着该方法保证在方法调用完成后指定的条件将成立。方法执行过程中可能会违反前置条件和/或后置条件:分别在进入和退出方法时进行测试。一个不变条件是一种合同,它说明指定的条件始终为真。阅读Bertrand MeyerObject-Oriented Software Construction以获取更多[更多]详细信息。Meyer的This paper较短[短得多]。

不错。我还建议在 pluralsight.com 上学习“可证明代码”或“代码契约”课程。它们非常好地深入探讨了使用 Microsoft Code Contracts 进行设计的契约。 - Ilya Ivanov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接