Compartilhar via


ContractOptionAttribute Classe

Definição

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
ContractOptionAttribute
Atributos

Comentários

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(...) {  
          ...  
       }  
   }  

Construtores

ContractOptionAttribute(String, String, Boolean)

Inicializa uma nova instância da classe ContractOptionAttribute usando a categoria, a configuração e o valor habilitar/desabilitar fornecidos.

ContractOptionAttribute(String, String, String)

Inicializa uma nova instância da classe ContractOptionAttribute usando a categoria, a configuração e o valor fornecidos.

Propriedades

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.

TypeId

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.

Métodos

Equals(Object)

Retorna um valor que indica se essa instância é igual a um objeto especificado.

(Herdado de Attribute)
GetHashCode()

Retorna o código hash para a instância.

(Herdado de Attribute)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IsDefaultAttribute()

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)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Implantações explícitas de interface

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de expedição.

(Herdado de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

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.GetTypeInfoCount(UInt32)

Retorna o número de interfaces de informações do tipo que um objeto fornece (0 ou 1).

(Herdado de Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornece acesso a propriedades e métodos expostos por um objeto.

(Herdado de Attribute)

Aplica-se a