假设我有这个:
[Pure]
public static TimeSpan Seconds(this int i)
{
Contract.Ensures(Contract.Result<TimeSpan>() == TimeSpan.FromSeconds(i));
return TimeSpan.FromSeconds(i);
}
我以如此严格的方式确保合同结果是正确的,还是不必要的?
在这种情况下?
[Pure]
public static T IfTrue<T>(this bool b, T value)
{
Contract.Ensures(Contract.Result<T>().Equals(b ? value : default(T)));
return b ? value : default(T);
}
我的问题是:
- 当我指出如此精确的合同保障时,我是对的吗?
- 我有义务做出如此严格的合同保证吗?为什么?
- 可以吗,我的合同保证重复(在我的申请中的许多情况下)
return
声明?