Udostępnij za pośrednictwem


Consistency Wyliczenie

Definicja

Przestroga

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

Określa kontrakt niezawodności.

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

Pola

MayCorruptAppDomain 1

W obliczu wyjątkowych warunków środowisko uruchomieniowe języka wspólnego (CLR) nie gwarantuje spójności stanu w bieżącej domenie aplikacji.

MayCorruptInstance 2

W obliczu wyjątkowych warunków metoda ma gwarancję ograniczenia uszkodzenia stanu do bieżącego wystąpienia.

MayCorruptProcess 0

W obliczu wyjątkowych warunków CLR nie gwarantuje spójności państwa; oznacza to, że warunek może uszkodzić proces.

WillNotCorruptState 3

W obliczu wyjątkowych warunków metoda nie jest gwarantowana do uszkodzenia stanu. (Nie gwarantuje to, że metoda nigdy nie zakończy się niepowodzeniem; jednak gwarantuje to, że taka awaria nigdy nie ulegnie uszkodzeniu).

Przykłady

Poniższy przykład kodu przedstawia użycie wyliczenia Consistency podczas określania ograniczonego regionu wykonywania dla metody. Ten przykład kodu jest częścią większego przykładu podanego dla konstruktora ReliabilityContractAttribute .

[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

Uwagi

Wyliczenie Consistency jest używane jako parametr atrybutu ReliabilityContractAttribute w celu określenia gwarancji niezawodności dla danej metody.

Dotyczy

Zobacz też