7

I'll best just show with a code example what I would like to accomplish?

class SomeClass
{
    public int SomeProperty;

    public void SomeOperation()
    {
        Contract.Ensures( "SomeProperty's value has not changed." );
                     //   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                     //    How can I write this post-condition?
    }
};

(The string passed to Contract.Ensures() is of course just a placeholder for the real post-condition expression.)

How can I do this? Would Contract.OldValue<>() be of any use here?

stakx - no longer contributing
  • 83,039
  • 20
  • 168
  • 268

1 Answers1

5

Contract.OldValue should be enough:

Contract.Ensures(this.SomeProperty == Contract.OldValue(this.SomePropety));
Pent Ploompuu
  • 5,364
  • 1
  • 27
  • 47