ContractAbbreviatorAttribute Klass

Definition

Definierar förkortningar som du kan använda i stället för den fullständiga kontraktssyntaxen.

public ref class ContractAbbreviatorAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Method, AllowMultiple=false)]
[System.Diagnostics.Conditional("CONTRACTS_FULL")]
public sealed class ContractAbbreviatorAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Method, AllowMultiple=false)>]
[<System.Diagnostics.Conditional("CONTRACTS_FULL")>]
type ContractAbbreviatorAttribute = class
    inherit Attribute
Public NotInheritable Class ContractAbbreviatorAttribute
Inherits Attribute
Arv
ContractAbbreviatorAttribute
Attribut

Exempel

I följande exempel visas hur du skapar förkortade namn för kodkontrakt som upprepas med flera metoder.

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();  
   }  
}  

Konstruktorer

Name Description
ContractAbbreviatorAttribute()

Initierar en ny instans av ContractAbbreviatorAttribute klassen.

Egenskaper

Name Description
TypeId

När den implementeras i en härledd klass hämtar du en unik identifierare för den här Attribute.

(Ärvd från Attribute)

Metoder

Name Description
Equals(Object)

Returnerar ett värde som anger om den här instansen är lika med ett angivet objekt.

(Ärvd från Attribute)
GetHashCode()

Returnerar hash-koden för den här instansen.

(Ärvd från Attribute)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
IsDefaultAttribute()

När den åsidosättas i en härledd klass anger du om värdet för den här instansen är standardvärdet för den härledda klassen.

(Ärvd från Attribute)
Match(Object)

När den åsidosätts i en härledd klass returneras ett värde som anger om den här instansen är lika med ett angivet objekt.

(Ärvd från Attribute)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Explicita gränssnittsimplementeringar

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

Mappar en uppsättning namn till en motsvarande uppsättning av sändningsidentifierare.

(Ärvd från Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Hämtar typinformationen för ett objekt, som kan användas för att hämta typinformationen för ett gränssnitt.

(Ärvd från Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Hämtar antalet typinformationsgränssnitt som ett objekt tillhandahåller (antingen 0 eller 1).

(Ärvd från Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Ger åtkomst till egenskaper och metoder som exponeras av ett objekt.

(Ärvd från Attribute)

Gäller för