語言

ContractAbbreviatorAttribute 類別

定義

定義您可以取代完整合約語法的縮寫。

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
繼承
ContractAbbreviatorAttribute
屬性

範例

以下範例示範如何為代碼合約建立縮寫名稱,這些合約在多種方法中重複出現。

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

建構函式

名稱 Description
ContractAbbreviatorAttribute()

初始化 ContractAbbreviatorAttribute 類別的新執行個體。

屬性

名稱 Description
TypeId

在衍生類別中實作時,取得這個 Attribute的唯一標識碼。

(繼承來源 Attribute)

方法

名稱 Description
Equals(Object)

傳回值,這個值表示這個實例是否等於指定的物件。

(繼承來源 Attribute)
GetHashCode()

傳回這個實例的哈希碼。

(繼承來源 Attribute)
GetType()

取得目前實例的 Type。

(繼承來源 Object)
IsDefaultAttribute()

在衍生類別中覆寫時,指出這個實例的值是否為衍生類別的預設值。

(繼承來源 Attribute)
Match(Object)

在衍生類別中覆寫時,傳回值,指出這個實例是否等於指定的物件。

(繼承來源 Attribute)
MemberwiseClone()

建立目前 Object的淺層複本。

(繼承來源 Object)
ToString()

傳回表示目前 物件的字串。

(繼承來源 Object)

明確介面實作

名稱 Description
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

將一組名稱對應至一組對應的分派識別項 (Dispatch Identifier)。

(繼承來源 Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

擷取 物件的型別資訊,可用來取得介面的類型資訊。

(繼承來源 Attribute)
_Attribute.GetTypeInfoCount(UInt32)

擷取物件提供的類型資訊介面數目 (0 或 1)。

(繼承來源 Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

提供物件所公開屬性和方法的存取權。

(繼承來源 Attribute)

適用於