C# 是否合并合同先决条件以返回一次错误?
你好 我想知道是否有任何方法可以合并所有合同。需要一个方法,所以说这样的事情会发生C# 是否合并合同先决条件以返回一次错误?,c#,code-contracts,C#,Code Contracts,你好 我想知道是否有任何方法可以合并所有合同。需要一个方法,所以说这样的事情会发生 public void MyMehod(Order var1, Cust var2) { Contract.Requires<ArgumentException>(var1 != null); Contract.Requires<ArgumentException>(var2 != null); //... } public void MyMehod(订单var1,
public void MyMehod(Order var1, Cust var2)
{
Contract.Requires<ArgumentException>(var1 != null);
Contract.Requires<ArgumentException>(var2 != null);
//...
}
public void MyMehod(订单var1,客户var2)
{
Contract.Requires(var1!=null);
Contract.Requires(var2!=null);
//...
}
如果我调用mymetod并且var1和var2都为null,那么我会得到两条错误消息吗
(也许这个例子不太好)但是如果调用这个方法,我想知道它的所有错误
那么,有没有人知道是否可以合并这些契约,这样我就可以返回一条错误消息呢?一个真正粗糙的方法——它不能扩展到很多参数——是首先创建一个契约,如果两者都为空,它将失败:
Contract.Requires<ArgumentException>(var1 != null || var2 != null);
Contract.Requires(var1!=null | | var2!=null);
或
Contract.Requires(!(var1==null&&var2==null));
。。。但是你仍然需要两个单独的。我不建议这样做,但这是我能马上想到的唯一一件事。一种真正粗俗的方法——它不适用于大量的争论——是首先签订一份合同,如果双方都无效,该合同将失败:
Contract.Requires<ArgumentException>(var1 != null || var2 != null);
Contract.Requires(var1!=null | | var2!=null);
或
Contract.Requires(!(var1==null&&var2==null));
。。。但是你仍然需要两个单独的。我不认为我会建议真的这样做,但这是我唯一能马上想到的事情。谢谢Jon,非常快的回答:)。这将是一个方便的特点。约翰回答得很快:)。这将是一个方便的功能