c# - C# 中的代码契约和空值检查

标签 c# c#-4.0 code-contracts

在我的代码中,我经常这样做:

myfunction (parameter p)
{
  if(p == null)
   return;
}

我如何用代码契约(Contract)替换它?

我感兴趣的是查明是否已传入 null 并通过静态检查捕获它。

如果在我们的测试期间传入 null,我有兴趣抛出契约(Contract)异常

对于生产,我想退出函数。

代码合约可以做到这一点吗?这对代码契约有用吗?

最佳答案

语法是:

Contract.Requires(p != null);

这需要在方法的顶部。所有 Contract.Requires(和其他契约(Contract)声明)必须在方法中的所有其他声明之前。

关于c# - C# 中的代码契约和空值检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4695282/

相关文章:

c# - 从 MySql db 到 c# 的重复列,为什么?

c# - 在同一解决方案中使用 VB.NET 和 C#

c# - MySQL .Net 连接器问题执行例程

.net - Random.Next 代码契约不正确吗?

c# - "Invariant unproven"使用在返回语句中创建特定新对象的方法时

c# - 强制类加载

c# - 在 C# 中闪烁标签 backColor

c# - 带有 ReSharper 8.2 的 VS2013 不识别代码契约(Contract)?

c# - VoIP/SIP 软电话 C# WPF

c#-4.0 - 需要知道开关性能 C#