ContractOptionAttribute Třída

Definice

Umožňuje nastavit možnosti kontraktu a nástroje při členitosti sestavení, typu nebo 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
Dědičnost
ContractOptionAttribute
Atributy

Poznámky

Následující tabulka uvádí aktuálně podporované možnosti.

Kategorie Setting Hodnota/efekt
kontrakt dědičnost true zapnout dědičnost kontraktů; false a vypněte ho. Výchozí hodnota je true.
modul runtime Kontrola true zapnout kontrolu za běhu; false a vypněte ho. Výchozí hodnota je true.

Tento atribut můžete použít, jak je znázorněno v následujících příkladech.

Vypnutí kontroly za běhu pro celé sestavení:

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

Zapnutí kontroly kontraktů za běhu pro konkrétní typ:

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

    ...

Vypnutí kontroly za běhu pro konkrétní metodu:

// 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

Name Description
ContractOptionAttribute(String, String, Boolean)

Inicializuje novou instanci ContractOptionAttribute třídy pomocí zadané kategorie, nastavení a enable/disable hodnotu.

ContractOptionAttribute(String, String, String)

Inicializuje novou instanci ContractOptionAttribute třídy pomocí poskytnuté kategorie, nastavení a hodnoty.

Vlastnosti

Name Description
Category

Získá kategorii možnosti.

Enabled

Určuje, jestli je povolená možnost.

Setting

Získá nastavení pro možnost.

TypeId

Při implementaci v odvozené třídě získá jedinečný identifikátor pro tento Attribute.

(Zděděno od Attribute)
Value

Získá hodnotu pro možnost.

Metody

Name Description
Equals(Object)

Vrátí hodnotu, která určuje, zda je tato instance rovna zadanému objektu.

(Zděděno od Attribute)
GetHashCode()

Vrátí kód hash pro tuto instanci.

(Zděděno od Attribute)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
IsDefaultAttribute()

Při přepsání v odvozené třídě určuje, zda hodnota této instance je výchozí hodnotou pro odvozenou třídu.

(Zděděno od Attribute)
Match(Object)

Při přepsání v odvozené třídě vrátí hodnotu, která určuje, zda se tato instance rovná zadanému objektu.

(Zděděno od Attribute)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Explicitní implementace rozhraní

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

Mapuje sadu názvů na odpovídající sadu identifikátorů pro rozesílání.

(Zděděno od Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Načte informace o typu objektu, který lze použít k získání informací o typu pro rozhraní.

(Zděděno od Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Získá počet rozhraní typu informací, které objekt poskytuje (0 nebo 1).

(Zděděno od Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Poskytuje přístup k vlastnostem a metodám vystaveným objektem.

(Zděděno od Attribute)

Platí pro