Я лучше всего просто покажу с примером кода, что я хотел бы выполнить?
class SomeClass
{
public int SomeProperty;
public void SomeOperation()
{
Contract.Ensures( "SomeProperty's value has not changed." );
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
// How can I write this post-condition?
}
};
(Строка передала Contract.Ensures()
конечно, просто заполнитель для реального выражения постусловия.)
Как я могу сделать это? Был бы Contract.OldValue<>()
иметь какое-либо применение здесь?
Contract.oldValue
должно быть достаточно:
Contract.Ensures(this.SomeProperty == Contract.OldValue(this.SomePropety));