Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

Contract.OldValue<T> Method

Represents values as they were at the start of a method or property.

Namespace:  System.Diagnostics.Contracts
Assemblies:   mscorlib (in mscorlib.dll)
  System.Diagnostics.Contracts (in System.Diagnostics.Contracts.dll)

public static T OldValue<T>(
	T value
)

Type Parameters

T

The type of value.

Parameters

value
Type: T

The value to represent (field or parameter).

Return Value

Type: T
The value of the parameter or field at the start of a method or property.

This method can be used only in the conditional expression for the Ensures contract.

The following example shows the use of the OldValue<T> method to ensure that a count has been updated. This code example is part of a larger example provided for the ContractClassAttribute class.

void IArray.Insert(int index, Object value)
{
    Contract.Requires(index >= 0);
    Contract.Requires(index <= ((IArray)this).Count);  // For inserting immediately after the end.
    Contract.Ensures(((IArray)this).Count == Contract.OldValue(((IArray)this).Count) + 1);
}

.NET Framework

Supported in: 4.6, 4.5, 4

.NET Framework Client Profile

Supported in: 4

.NET for Windows Phone apps

Supported in: Windows Phone 8.1, Windows Phone Silverlight 8.1, Windows Phone Silverlight 8

Portable Class Library

Supported in: Portable Class Library
Show:
© 2015 Microsoft