我应该在发布版本上打开.NET 4.0的代码合同的运行时检查吗?

Mar*_*ark 9 c# .net-4.0 code-contracts

假设所有新的.NET 4.0代码

我看到可以选择打开它们.但是我不明白最佳做法是什么?

最好的做法是,一旦完成静态检查,您真的不需要进行运行时检查(因为编译器确保满足条件)?或者是否存在即使编译器为您检查它的情况,仍然可能在运行时期间不满足条件?

任何良好的在线讨论或文章.我看到很多解释如何做但不是很多解释哪个是最好的做法,假设所有新的.NET 4.0代码都没有所需的向后兼容性.

Hen*_*man 5

既然编译器确保满足条件?

静态验证器将能够验证整个应用程序是非常罕见的.我们通常会选择主要部分.

我应该在发布版本上打开.NET 4.0的代码合同的运行时检查吗?

可能不是Full选项,而是像PreConditions Only这样的较轻的选项之一.

对于性能关键代码,您可能希望完全关闭它们.