Law*_*eld 9 .net c# code-contracts
有没有明确地指定一个返回值的方法可以使用代码契约为空?
我担心的是,没有a的方法Contract.Ensures(Contract.Result<object>() != null)将来可能被错误地"修复"以包括后置条件,即使最初的意图可能是允许空结果.
如果有任何其他后置条件,那么这些将表明这null是一个有效的返回值.例如,如果方法应返回正值,但null在发生错误时使用:
Contract.Ensures(Contract.Result<int?>() == null || 0 <= Contract.Result<int?>());
Run Code Online (Sandbox Code Playgroud)
但是,如果您担心回归,最好的解决方案可能是为预期的null返回值添加单元测试.
| 归档时间: |
|
| 查看次数: |
1685 次 |
| 最近记录: |