Contract.OldValue<T>(T) Metod

Definition

Representerar värden som de var i början av en metod eller egenskap.

public:
generic <typename T>
 static T OldValue(T value);
public static T OldValue<T>(T value);
static member OldValue : 'T -> 'T
Public Shared Function OldValue(Of T) (value As T) As T

Typparametrar

T

Typ av värde.

Parametrar

value
T

Värdet som ska representeras (fält eller parameter).

Returer

T

Värdet för parametern eller fältet i början av en metod eller egenskap.

Exempel

I följande exempel visas hur metoden används OldValue för att säkerställa att antalet har uppdaterats. Det här kodexemplet är en del av ett större exempel för ContractClassAttribute klassen.

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);
}
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

Kommentarer

Den här metoden kan endast användas i villkorsuttrycket för Ensures kontraktet.

Gäller för