Udostępnij za pośrednictwem


ContractOptionAttribute Klasa

Definicja

Umożliwia ustawianie opcji kontraktu i narzędzi na poziomie szczegółowości zestawu, typu lub metody.

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
Dziedziczenie
ContractOptionAttribute
Atrybuty

Uwagi

W poniższej tabeli przedstawiono obecnie obsługiwane opcje.

Kategoria Ustawienie Wartość/efekt
Umowy dziedziczenie true aby włączyć dziedziczenie kontraktu; false aby wyłączyć tę funkcję. Wartość domyślna to true.
środowisko uruchomieniowe sprawdzanie true aby włączyć sprawdzanie czasu wykonywania; false aby wyłączyć tę funkcję. Wartość domyślna to true.

Ten atrybut można użyć, jak pokazano w poniższych przykładach.

Aby wyłączyć sprawdzanie czasu wykonywania dla całego zestawu:

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

Aby włączyć sprawdzanie kontraktu czasu wykonywania dla określonego typu:

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

    ...  

Aby wyłączyć sprawdzanie czasu wykonywania dla określonej metody:

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

Konstruktory

ContractOptionAttribute(String, String, Boolean)

Inicjuje ContractOptionAttribute nowe wystąpienie klasy przy użyciu podanej kategorii, ustawienia i wartości włączania/wyłączania.

ContractOptionAttribute(String, String, String)

Inicjuje ContractOptionAttribute nowe wystąpienie klasy przy użyciu podanej kategorii, ustawienia i wartości.

Właściwości

Category

Pobiera kategorię opcji.

Enabled

Określa, czy opcja jest włączona.

Setting

Pobiera ustawienie dla opcji.

TypeId

Po zaimplementowaniu w klasie pochodnej pobiera unikatowy identyfikator dla tego elementu Attribute.

(Odziedziczone po Attribute)
Value

Pobiera wartość opcji.

Metody

Equals(Object)

Zwraca wartość wskazującą, czy to wystąpienie jest równe podanemu obiektowi.

(Odziedziczone po Attribute)
GetHashCode()

Zwraca wartość skrótu dla tego wystąpienia.

(Odziedziczone po Attribute)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
IsDefaultAttribute()

W przypadku zastąpienia w klasie pochodnej wskazuje, czy wartość tego wystąpienia jest wartością domyślną klasy pochodnej.

(Odziedziczone po Attribute)
Match(Object)

W przypadku zastąpienia w klasie pochodnej zwraca wartość wskazującą, czy to wystąpienie jest równe określonemu obiektowi.

(Odziedziczone po Attribute)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Jawne implementacje interfejsu

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

Zestaw nazw jest mapowany na odpowiedni zestaw identyfikatorów wysyłania.

(Odziedziczone po Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Pobiera informacje o typie obiektu, którego można użyć do pobrania informacji o typie interfejsu.

(Odziedziczone po Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Pobiera informację o liczbie typów interfejsów, jakie zawiera obiekt (0 lub 1).

(Odziedziczone po Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Umożliwia dostęp do właściwości i metod udostępnianych przez obiekt.

(Odziedziczone po Attribute)

Dotyczy