Contract.OldValue<T>(T) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Representa los valores como eran al principio de un método o propiedad.
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
Tipo del valor.
Parámetros
- value
- T
Valor que se va a representar (campo o parámetro).
Devoluciones
El valor del parámetro o del campo del inicio de un método o propiedad.
Ejemplos
En el ejemplo siguiente se muestra el uso del OldValue método para asegurarse de que se ha actualizado un recuento. Este ejemplo de código es parte de un ejemplo más grande proporcionado para la clase 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
Comentarios
Este método solo se puede usar en la expresión condicional para el Ensures contrato.