ContractAbbreviatorAttribute Classe

Definição

Define as abreviações que podem ser usadas no lugar da sintaxe de contrato completa.

[System.AttributeUsage(System.AttributeTargets.Method, AllowMultiple=false)]
[System.Diagnostics.Conditional("CONTRACTS_FULL")]
public sealed class ContractAbbreviatorAttribute : Attribute
Herança
ContractAbbreviatorAttribute
Atributos

Exemplos

O exemplo a seguir demonstra como criar nomes abreviados para contratos de código repetidos em vários métodos.

using System.Diagnostics.Contracts;  

public class MyClass   
{  
   public int State { get; }  
   public int Data { get; }  

   [ ContractAbbreviator ]  
   private void DataAndStateUnchanged()   
   {  
      Contract.Ensures( this .State == Contract.OldValue(this.State));  
      Contract.Ensures( this .Data == Contract.OldValue(this.Data));  
   }  

   [ ContractAbbreviator ]  
   private void InStateZeroAndUnchanged()   
   {  
      Contract.Requires( this.State == 0);  
      DataAndStateUnchanged();  
   }  

   public void Method1(...)   
   {  
      InStateZeroAndUnchanged();  
      ...  
   }  

   public void Method2(...)   
   {  
      InStateZeroAndUnchanged();  
      ...  
   }  

   public void Method3(...)  
   {  
      Contract.Requires(this .State == 1);  
      DataAndStateUnchanged();  
   }  
}  

Construtores

ContractAbbreviatorAttribute()

Inicializa uma nova instância da classe ContractAbbreviatorAttribute.

Propriedades

TypeId

Quando implementado em uma classe derivada, obtém um identificador exclusivo para este Attribute.

(Herdado de Attribute)

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

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