Consistency Wyliczenie

Definicja

Przestroga

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

Określa kontrakt niezawodności.

C#
[System.Obsolete("The Constrained Execution Region (CER) feature is not supported.", DiagnosticId="SYSLIB0004", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public enum Consistency
C#
public enum Consistency
C#
[System.Serializable]
public enum Consistency
Dziedziczenie
Consistency
Atrybuty

Pola

Nazwa Wartość Opis
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 .

C#
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
[MethodImpl(MethodImplOptions.NoInlining)]
void StackDepth2()
{
    try
    {
        consistentLevel2 = false;
        if (depth == 2)
            Thread.Sleep(-1);
        StackDepth3();
    }
    finally
    {
        consistentLevel2 = true;
    }
}

Uwagi

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

Dotyczy

Produkt Wersje (Przestarzałe)
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1 (5, 6, 7, 8, 9)
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Zobacz też