Bagikan melalui


Contract.OldValue<T>(T) Metode

Definisi

Mewakili nilai sebagaimana adanya di awal metode atau properti.

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

Jenis parameter

T

Jenis nilai.

Parameter

value
T

Nilai yang akan diwakili (bidang atau parameter).

Mengembalikan

T

Nilai parameter atau bidang di awal metode atau properti.

Contoh

Contoh berikut menunjukkan penggunaan OldValue metode untuk memastikan bahwa hitungan telah diperbarui. Contoh kode ini adalah bagian dari contoh yang lebih besar yang disediakan untuk ContractClassAttribute kelas .

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

Keterangan

Metode ini hanya dapat digunakan dalam ekspresi kondisional untuk Ensures kontrak.

Berlaku untuk