ContractOptionAttribute Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
- 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) |