一个合同还是几个?

时间:2011-07-28 13:12:41

标签: c# code-contracts

合同多少?

Contract.Requires(name.NotEmpty() && identifier.NotEmpty());

Contract.Requires(name.NotEmpty());
Contract.Requires(identifier.NotEmpty());

3 个答案:

答案 0 :(得分:3)

出于几个原因,我喜欢第二个

  1. 它可以更好地扩展到更多合同
  2. 根据您的代码合同库及其生成的消息质量,可能更容易确切地看到哪个条件失败

答案 1 :(得分:2)

您肯定需要第二种形式,每个参数的独立Require语句。

请记住,使用静态检查程序时,此信息也会在呼叫站点使用。我相信检查器可能能够解析&&条件,但您不想知道。

答案 2 :(得分:0)

您发布的代码完全相同