Contract Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Contém métodos estáticos para representar contratos de programa, como pré-condições, postcondições e invariantes de objetos.
public ref class Contract abstract sealed
public static class Contract
type Contract = class
Public Class Contract
- Herança
-
Contract
Observações
As classes de contrato de código permitem-te especificar pré-condições, pós-condições e invariantes de objeto no teu código. As pré-condições são requisitos que devem ser atendidos ao inserir um método ou propriedade. Postconditions descrevem expectativas no momento em que o método ou código de propriedade sai. Invariantes de objeto descrevem o estado esperado para uma classe que não tem problemas de condição. Para mais informações sobre pré-condições, pós-condições e invariantes de objetos, consulte Contratos de Código.
Para ferramentas e instruções detalhadas sobre a utilização de contratos de código, consulte Contratos de Código no Visual Studio Marketplace.
Importante
Deve usar um reescritor binário para inserir a aplicação em tempo de execução dos contratos. Caso contrário, contratos como o Contract.Ensures método só podem ser testados estaticamente e não lançam exceções durante o tempo de execução se um contrato for violado. Pode descarregar o reescritor binário CCRewrite a partir de Code Contracts no Visual Studio Marketplace. O CCRewrite vem com um suplemento de Visual Studio que permite ativar a aplicação de contratos em tempo de execução a partir da página do projeto Properties. O reescritor binário e o suplemento Visual Studio não vêm com o Visual Studio 2010 nem com o SDK do Windows.
Métodos
| Name | Description |
|---|---|
| Assert(Boolean, String) |
Verifica uma condição; Se a condição for |
| Assert(Boolean) |
Verifica uma condição; Se a condição for |
| Assume(Boolean, String) |
Instrui as ferramentas de análise de código a assumirem que uma condição é |
| Assume(Boolean) |
Instrui as ferramentas de análise de código a assumirem que a condição especificada é |
| EndContractBlock() |
Marca o fim da secção do contrato quando os contratos de um método contêm apenas pré-condições no |
| Ensures(Boolean, String) |
Especifica um contrato pós-condição para uma condição de saída fornecida e uma mensagem a mostrar se a condição for |
| Ensures(Boolean) |
Especifica um contrato pós-condição para o método de encerramento ou propriedade. |
| EnsuresOnThrow<TException>(Boolean, String) |
Especifica um contrato pós-condição e uma mensagem a mostrar se a condição for |
| EnsuresOnThrow<TException>(Boolean) |
Especifica um contrato pós-condição para o método ou propriedade de encerramento, com base na exceção e condição fornecidas. |
| Exists(Int32, Int32, Predicate<Int32>) |
Determina se um teste especificado é verdadeiro para qualquer inteiro dentro de um intervalo de inteiros. |
| Exists<T>(IEnumerable<T>, Predicate<T>) |
Determina se um elemento dentro de uma coleção de elementos existe dentro de uma função. |
| ForAll(Int32, Int32, Predicate<Int32>) |
Determina se uma condição particular é válida para todos os inteiros num intervalo especificado. |
| ForAll<T>(IEnumerable<T>, Predicate<T>) |
Determina se todos os elementos de uma coleção existem dentro de uma função. |
| Invariant(Boolean, String) |
Especifica um contrato invariante para o método ou propriedade de anexo, e apresenta uma mensagem se a condição do contrato falhar. |
| Invariant(Boolean) |
Especifica um contrato invariante para o método ou propriedade de encerramento. |
| OldValue<T>(T) |
Representa os valores tal como eram no início de um método ou propriedade. |
| Requires(Boolean, String) |
Especifica um contrato de pré-condição para o método ou propriedade de anexo, e apresenta uma mensagem se a condição do contrato falhar. |
| Requires(Boolean) |
Especifica um contrato de pré-condição para o método de encerramento ou propriedade. |
| Requires<TException>(Boolean, String) |
Especifica um contrato pré-condição para o método ou propriedade de encerramento, e lança uma exceção com a mensagem fornecida se a condição do contrato falhar. |
| Requires<TException>(Boolean) |
Especifica um contrato pré-condição para o método ou propriedade de encerramento, e lança uma exceção se a condição para o contrato falhar. |
| Result<T>() |
Representa o valor de retorno de um método ou propriedade. |
| ValueAtReturn<T>(T) |
Representa o valor final (de saída) de um |
evento
| Name | Description |
|---|---|
| ContractFailed |
Ocorre quando um contrato falha. |