.net - 在 .NET 中断言参数和值的前置条件和后置条件的最佳方法是什么?

标签 .net design-by-contract

我最近一直在考虑契约式设计,我想知道人们认为在 .NET 中声明值的前置条件和后置条件的最佳方法是什么?
即验证方法的参数值。

有些人推荐 Debug.Assert 而其他人则谈论使用 if 语句并抛出异常。各自的优缺点是什么?

您推荐哪些可用的框架?

最佳答案

另一种选择是 Spec# .

Spec# 是面向对象语言 C# 的扩展。它扩展了类型系统以包括非空类型和检查异常。它以前置条件和后置条件以及对象不变量的形式提供方法契约。

关于.net - 在 .NET 中断言参数和值的前置条件和后置条件的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/155422/

相关文章:

c# - 使用/不使用 JCL 在 Delphi 中托管 CLR - 示例

c# - 循环枚举器的 PLINQ 迭代导致死锁

java - 如何为抽象方法编写契约?

Java:调用 hashCode() 和 equals() 时自动抛出 UnsupportedOperationException 的干净方法?

c# - Socket.EndAccept() 错误 10054

c# - 如何将参数添加到 WebRequest 中?

c# - 查找默认电子邮件客户端

C中的契约(Contract)设计模式

design-by-contract - 不可空对象有什么问题?

java - 何时在客户端和通用 GWT 代码中使用断言