ContractOptionAttribute Classe

Definizione

Consente di impostare il contratto e le opzioni dello strumento con granularità a livello di assembly, tipo o metodo.

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
Ereditarietà
ContractOptionAttribute
Attributi

Commenti

Nella tabella seguente vengono elencate le opzioni attualmente supportate.

Category Impostazione Valore/effetto
contract ereditarietà true per abilitare l'ereditarietà del contratto; false per disabilitarla. Il valore predefinito è true.
runtime controllo true per attivare il controllo runtime; false per disattivarlo. Il valore predefinito è true.

È possibile utilizzare questo attributo come illustrato negli esempi seguenti.

Per disabilitare il controllo runtime per l'intero assembly:

[assembly:ContractOption("runtime", "checking", false)]  

Per abilitare il controllo runtime del contratto per un tipo specifico:

[ContractOption("runtime", "checking", true)]  
class TypeWithRuntimeChecking {  

    ...  

Per disabilitare il controllo runtime per un metodo specifico:

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

Costruttori

ContractOptionAttribute(String, String, Boolean)

Inizializza una nuova istanza della classe ContractOptionAttribute utilizzando la categoria, l'impostazione e il valore abilita/disabilita forniti.

ContractOptionAttribute(String, String, String)

Inizializza una nuova istanza della classe ContractOptionAttribute utilizzando la categoria, l'impostazione e il valore forniti.

Proprietà

Category

Ottiene la categoria dell'opzione.

Enabled

Determina se un'opzione è abilitata.

Setting

Ottiene l'impostazione per l'opzione.

TypeId

Quando è implementata in una classe derivata, ottiene un identificatore univoco della classe Attribute.

(Ereditato da Attribute)
Value

Ottiene il valore per l'opzione.

Metodi

Equals(Object)

Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato.

(Ereditato da Attribute)
GetHashCode()

Restituisce il codice hash per l'istanza.

(Ereditato da Attribute)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
IsDefaultAttribute()

In caso di override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata.

(Ereditato da Attribute)
Match(Object)

Quando è sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato.

(Ereditato da Attribute)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

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

Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch.

(Ereditato da Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera le informazioni sul tipo relative a un oggetto, che possono essere usate per ottenere informazioni sul tipo relative a un'interfaccia.

(Ereditato da Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 1).

(Ereditato da Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornisce l'accesso a proprietà e metodi esposti da un oggetto.

(Ereditato da Attribute)

Si applica a