Sdílet prostřednictvím


Consistency Výčet

Definice

Upozornění

The Constrained Execution Region (CER) feature is not supported.

Určuje kontrakt spolehlivosti.

public enum class Consistency
[System.Obsolete("The Constrained Execution Region (CER) feature is not supported.", DiagnosticId="SYSLIB0004", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public enum Consistency
public enum Consistency
[System.Serializable]
public enum Consistency
[<System.Obsolete("The Constrained Execution Region (CER) feature is not supported.", DiagnosticId="SYSLIB0004", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type Consistency = 
type Consistency = 
[<System.Serializable>]
type Consistency = 
Public Enum Consistency
Dědičnost
Consistency
Atributy

Pole

MayCorruptAppDomain 1

Vzhledem k výjimečným podmínkám modul CLR (Common Language Runtime) neposkytuje žádné záruky konzistence stavu v aktuální doméně aplikace.

MayCorruptInstance 2

Za výjimečných podmínek je zaručeno, že metoda omezí poškození stavu na aktuální instanci.

MayCorruptProcess 0

Vzhledem k výjimečným podmínkám CLR neposkytuje žádné záruky, pokud jde o konzistenci stavu; to znamená, že podmínka může poškodit proces.

WillNotCorruptState 3

Za výjimečných podmínek je zaručeno, že metoda nepoškodí stav. (To nezaručuje, že metoda nikdy selžou, ale zaručuje, že takové selhání nikdy nepoškodí stav.)

Příklady

Následující příklad kódu ukazuje použití výčtu Consistency při zadávání oblasti omezeného spuštění pro metodu. Tento příklad kódu je součástí většího příkladu ReliabilityContractAttribute pro konstruktor.

[ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
[MethodImpl(MethodImplOptions.NoInlining)]
void StackDepth2()
{
    try
    {
        consistentLevel2 = false;
        if (depth == 2)
            Thread.Sleep(-1);
        StackDepth3();
    }
    finally
    {
        consistentLevel2 = true;
    }
}
<ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)>
<MethodImpl(MethodImplOptions.NoInlining)>
Sub StackDepth2()
   Try
      consistentLevel2 = False
      If depth = 2 Then Thread.Sleep(-1)
      StackDepth3()
   Finally
      consistentLevel2 = True
   End Try
End Sub

Poznámky

Výčet se Consistency používá jako parametr atributu ReliabilityContractAttribute pro určení záruky spolehlivosti pro danou metodu.

Platí pro

Viz také