Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Clase Contract

 

Publicado: octubre de 2016

Contiene métodos estáticos para representar contratos del programa como condiciones previas, condiciones posteriores y objetos invariables.

Espacio de nombres:   System.Diagnostics.Contracts
Ensamblado:  mscorlib (en mscorlib.dll)

System.Object
  System.Diagnostics.Contracts.Contract

public static class Contract

NombreDescripción
System_CAPS_pubmethodSystem_CAPS_staticAssert(Boolean)

Comprueba una condición; si es false, sigue la directiva de elevación establecida para el analizador.

System_CAPS_pubmethodSystem_CAPS_staticAssert(Boolean, String)

Comprueba una condición; si es false, sigue la directiva de elevación establecida por el analizador y muestra el mensaje especificado.

System_CAPS_pubmethodSystem_CAPS_staticAssume(Boolean)

Indica a las herramientas de análisis de código que supongan que la condición especificada es true, aun cuando no se pueda demostrar estáticamente que siempre sea true.

System_CAPS_pubmethodSystem_CAPS_staticAssume(Boolean, String)

Indica a las herramientas de análisis de código que supongan que una condición es true, aun cuando no se puede demostrar estáticamente que siempre es true, y muestra un mensaje si la hipótesis es errónea.

System_CAPS_pubmethodSystem_CAPS_staticEndContractBlock()

Marca el final de la sección de contrato cuando los contratos de un método solo contienen condiciones previas con el formato if-then-throw.

System_CAPS_pubmethodSystem_CAPS_staticEnsures(Boolean)

Especifica un contrato de condición posterior para el método o la propiedad envolvente.

System_CAPS_pubmethodSystem_CAPS_staticEnsures(Boolean, String)

Especifica un contrato de condición posterior para una condición de salida proporcionada y un mensaje para mostrar si la condición es false.

System_CAPS_pubmethodSystem_CAPS_staticEnsuresOnThrow<TException>(Boolean)

Especifica un contrato de condición posterior para el método o la propiedad envolvente, a partir de la excepción y condición proporcionadas.

System_CAPS_pubmethodSystem_CAPS_staticEnsuresOnThrow<TException>(Boolean, String)

Especifica un contrato de condición posterior para el método o la propiedad envolvente, y un mensaje para mostrar si la condición es false, a partir de la excepción y condición proporcionadas.

System_CAPS_pubmethodSystem_CAPS_staticExists(Int32, Int32, Predicate<Int32>)

Determina si una prueba especificada es true para cualquier entero dentro de un intervalo de enteros.

System_CAPS_pubmethodSystem_CAPS_staticExists<T>(IEnumerable<T>, Predicate<T>)

Determina si un elemento de una colección de elementos existe dentro de una función.

System_CAPS_pubmethodSystem_CAPS_staticForAll(Int32, Int32, Predicate<Int32>)

Determina si una condición determinada es válida para todos los enteros de un intervalo especificado.

System_CAPS_pubmethodSystem_CAPS_staticForAll<T>(IEnumerable<T>, Predicate<T>)

Determina si todos los elementos de una colección existen dentro de una función.

System_CAPS_pubmethodSystem_CAPS_staticInvariant(Boolean)

Especifica un contrato invariable para el método o propiedad envolvente.

System_CAPS_pubmethodSystem_CAPS_staticInvariant(Boolean, String)

Especifica un contrato invariable para el método o propiedad envolvente, y muestra un mensaje si la condición del contrato da error.

System_CAPS_pubmethodSystem_CAPS_staticOldValue<T>(T)

Representa los valores como eran al principio de un método o propiedad.

System_CAPS_pubmethodSystem_CAPS_staticRequires(Boolean)

Especifica un contrato de condición previa para el método o propiedad envolvente.

System_CAPS_pubmethodSystem_CAPS_staticRequires(Boolean, String)

Especifica un contrato de condición previa para el método o propiedad envolvente, y muestra un mensaje si la condición del contrato da error.

System_CAPS_pubmethodSystem_CAPS_staticRequires<TException>(Boolean)

Especifica un contrato de condición previa para el método o propiedad envolvente, y produce una excepción si no se cumple la condición del contrato.

System_CAPS_pubmethodSystem_CAPS_staticRequires<TException>(Boolean, String)

Especifica un contrato de condición previa para el método o propiedad envolvente, y produce una excepción con el mensaje proporcionado si no se cumple la condición del contrato.

System_CAPS_pubmethodSystem_CAPS_staticResult<T>()

Representa el valor devuelto de un método o propiedad.

System_CAPS_pubmethodSystem_CAPS_staticValueAtReturn<T>(T)

Representa el valor final (resultado) de un parámetro out cuando se devuelve de un método.

NombreDescripción
System_CAPS_pubeventSystem_CAPS_staticContractFailed

Se produce cuando un contrato da error.

Code contract classes let you specify preconditions, postconditions, and object invariants in your code. Preconditions are requirements that must be met when entering a method or property. Postconditions describe expectations at the time the method or property code exits. Object invariants describe the expected state for a class that has no condition problems. For more information about preconditions, postconditions, and object invariants, see Code Contracts.

For tools and detailed instructions for using code contracts, see Code Contractshttp://go.microsoft.com/fwlink/?LinkId=152461 on the MSDN DevLabs Web site.

System_CAPS_importantImportante

You must use a binary rewriter to insert run-time enforcement of contracts. Otherwise, contracts such as the Overload:System.Diagnostics.Contracts.Contract.Ensures method can only be tested statically and will not throw exceptions during run time if a contract is violated. You can download the binary rewriter CCRewrite from Code Contractshttp://go.microsoft.com/fwlink/?LinkId=152461 on the MSDN DevLabs Web site. CCRewrite comes with a Visual Studio add-in that enables you to activate run-time contract enforcement from the project Properties page. The binary rewriter and the Visual Studio add-in do not ship with vs_dev10_long or the Windows SDK.

Plataforma universal de Windows
Disponible desde 8
.NET Framework
Disponible desde 4.0
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Silverlight
Disponible desde 4.0
Windows Phone Silverlight
Disponible desde 8.0
Windows Phone
Disponible desde 8.1

Cualquier miembro ( Compartido en Visual Basic) estático público de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Volver al principio
Mostrar: