Contract.OldValue(Of T) Method (T)


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

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

Public Shared Function OldValue(Of T) (
	value As T
) As T


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.

Type Parameters


The type of value.

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

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

Sub Insert(ByVal index As Integer, ByVal value As [Object]) Implements IArray.Insert
    Contract.Requires(index >= 0)
    Contract.Requires(index <= CType(Me, IArray).Count) ' For inserting immediately after the end.
    Contract.Ensures(CType(Me, IArray).Count = Contract.OldValue(CType(Me, IArray).Count) + 1)

End Sub 'IArray.Insert

Universal Windows Platform
Available since 8
.NET Framework
Available since 4.0
Portable Class Library
Supported in: portable .NET platforms
Available since 4.0
Windows Phone Silverlight
Available since 8.0
Windows Phone
Available since 8.1
Return to top