Contract.OldValue<T>(T) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
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.