这是一个非常笼统的想法,但在这个例子中我们使用C#。
鉴于此
Foo
,即,它实现了IDisposable
。Foo
有一个布尔标志disposed
false ,直到Dispose
被调用,之后为真。Foo
的所有公开方法ObjectDisposedException
如果disposed
为真则会Foo
。这句话是
吗?除了
Dispose
之外,ObjectDisposedException
的任何方法都会在Foo
已被处置的实例上调用Foo
。
描述{{1}}
的不变量答案 0 :(得分:2)
没有
这是该类所有方法共有的一组规则。不变量不是方法的规则。
按合同设计包括定义合同的以下部分:
您所描述的是方法后置条件。它们属于每个函数的契约(当然是该类合同的一部分),但不属于类不变量。
答案 1 :(得分:0)
这不是一个不变的。这是关于对象状态的陈述。 IMO,你所描述的是一种处置方法的后置条件和所有方法的后置条件。