ContractOptionAttribute Classe
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.
Permite definir opções de ferramenta e contrato na granularidade de assembly, tipo ou método.
public ref class ContractOptionAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=true, Inherited=false)]
[System.Diagnostics.Conditional("CONTRACTS_FULL")]
public sealed class ContractOptionAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=true, Inherited=false)>]
[<System.Diagnostics.Conditional("CONTRACTS_FULL")>]
type ContractOptionAttribute = class
inherit Attribute
Public NotInheritable Class ContractOptionAttribute
Inherits Attribute
- Herança
- Atributos
A tabela a seguir mostra as opções com suporte no momento.
Categoria | Configuração | Valor/efeito |
---|---|---|
contrato | herança | true para ativar a herança do contrato; false para desativá-lo. O padrão é true . |
runtime | verificando | true para ativar a verificação em tempo de execução; false para desativá-lo. O padrão é true . |
Você pode usar esse atributo conforme ilustrado nos exemplos a seguir.
Para desativar a verificação em tempo de execução de todo o assembly:
[assembly:ContractOption("runtime", "checking", false)]
Para ativar a verificação de contrato em tempo de execução para um tipo específico:
[ContractOption("runtime", "checking", true)]
class TypeWithRuntimeChecking {
...
Para desativar a verificação em tempo de execução para um método específico:
// Turn off all contract inheritance from interface IList<T>
[ContractOption("contract", "inheritance", false)]
class MyConcurrentList<T> : IList<T> {
...
}
[ContractOption("runtime", "checking", false)]
public override MyMethod(int x) {
// no inherited contracts checked at runtime,
// no invariants checked at runtime.
...
}
[ContractOption("runtime", "checking", false)]
public void MethodWithoutRuntimeChecking(...) {
...
}
}
Contract |
Inicializa uma nova instância da classe ContractOptionAttribute usando a categoria, a configuração e o valor habilitar/desabilitar fornecidos. |
Contract |
Inicializa uma nova instância da classe ContractOptionAttribute usando a categoria, a configuração e o valor fornecidos. |
Category |
Obtém a categoria da opção. |
Enabled |
Determina se uma opção está habilitada. |
Setting |
Obtém a configuração da opção. |
Type |
Quando implementado em uma classe derivada, obtém um identificador exclusivo para este Attribute. (Herdado de Attribute) |
Value |
Obtém o valor da opção. |
Equals(Object) |
Retorna um valor que indica se essa instância é igual a um objeto especificado. (Herdado de Attribute) |
Get |
Retorna o código hash para a instância. (Herdado de Attribute) |
Get |
Obtém o Type da instância atual. (Herdado de Object) |
Is |
Quando substituído em uma classe derivada, indica se o valor dessa instância é o valor padrão para a classe derivada. (Herdado de Attribute) |
Match(Object) |
Quando substituído em uma classe derivada, retorna um valor que indica se essa instância é igual a um objeto especificado. (Herdado de Attribute) |
Memberwise |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
To |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
_Attribute. |
Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de expedição. (Herdado de Attribute) |
_Attribute. |
Recupera as informações de tipo para um objeto, que pode ser usado para obter as informações de tipo para uma interface. (Herdado de Attribute) |
_Attribute. |
Retorna o número de interfaces de informações do tipo que um objeto fornece (0 ou 1). (Herdado de Attribute) |
_Attribute. |
Fornece acesso a propriedades e métodos expostos por um objeto. (Herdado de Attribute) |
Produto | Versões |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |
UWP | 10.0 |
Comentários do .NET
O .NET é um projeto código aberto. Selecione um link para fornecer comentários: