Contract.OldValue<T> Method
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Represents values as they were at the start of a method or property.
Namespace: System.Diagnostics.Contracts
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public Shared Function OldValue(Of T) ( _
value As T _
) As T
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.
Examples
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.
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
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);
}
Version Information
Silverlight
Supported in: 5, 4
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.