Contract.OldValue<T>(T) メソッド

定義

メソッドまたはプロパティの開始時の値を表します。Represents values as they were at the start of a method or property.

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

値の型。The type of value.

パラメーター

value
T

表す値 (フィールドまたはパラメーター)。The value to represent (field or parameter).

戻り値

T

メソッドまたはプロパティの開始時のフィールドまたはパラメーターの値。The value of the parameter or field at the start of a method or property.

次の例は、OldValue メソッドを使用して、カウントが更新されたことを確認する方法を示しています。The following example shows the use of the OldValue method to ensure that a count has been updated. このコード例は、ContractClassAttribute クラス用に用意されている大規模な例の一部です。This code example is part of a larger example provided for the ContractClassAttribute class.

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 コントラクトの条件式でのみ使用できます。This method can be used only in the conditional expression for the Ensures contract.

適用対象