Contract.OldValue<T>(T) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Representa valores como eram no início de um método ou propriedade.
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
Parâmetros de tipo
- T
O tipo do valor.
Parâmetros
- value
- T
O valor a ser representado (campo ou parâmetro).
Retornos
O valor do parâmetro ou campo no início de um método ou propriedade.
Exemplos
O exemplo a seguir mostra o uso do OldValue método para garantir que uma contagem tenha sido atualizada. Este exemplo de código faz parte de um exemplo maior fornecido para a ContractClassAttribute classe .
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
Comentários
Esse método só pode ser usado na expressão condicional do Ensures contrato.