Contract.OldValue<T>(T) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
表示其在方法或屬性開始時的值。
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 中使用。