Freigeben über


Contract.OldValue<T>(T) Methode

Definition

Stellt Werte in ihrem Zustand beim Starten einer Methode oder einer Eigenschaft dar.

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

Typparameter

T

Der Typ des Werts.

Parameter

value
T

Der darzustellende Wert (Feld oder Parameter).

Gibt zurück

T

Der Wert des Parameters oder Felds am Anfang einer Methode oder Eigenschaft.

Beispiele

Das folgende Beispiel zeigt die Verwendung der OldValue -Methode, um sicherzustellen, dass eine Anzahl aktualisiert wurde. Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die ContractClassAttribute-Klasse bereitgestellt wird.

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

Hinweise

Diese Methode kann nur im bedingten Ausdruck für den Ensures Vertrag verwendet werden.

Gilt für: