Contract.OldValue<T>(T) 方法

定義

表示其在方法或屬性開始時的值。

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

類型參數

T

值的類型。

參數

value
T

要表示的值 (欄位或參數)。

傳回

T

在方法或屬性開始時之欄位或參數的值。

範例

下列範例示範如何使用 OldValue 方法來確保計數已更新。 此程式代碼範例是針對 類別提供的較大範例的 ContractClassAttribute 一部分。

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

備註

這個方法只能在合約的條件表達式 Ensures 中使用。

適用於