Consistency Wyliczenie
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
- 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.