Consistency Výčet
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
- Atributy
Pole
| Name | Hodnota | Description |
|---|---|---|
| MayCorruptProcess | 0 | Vzhledem k výjimečným podmínkám neposkytuje CLR žádné záruky týkající se konzistence stavu; to znamená, že podmínka může poškodit proces. |
| MayCorruptAppDomain | 1 | Vzhledem k výjimečným podmínkám modul CLR (Common Language Runtime) neposkytuje žádné záruky týkající se konzistence stavu v aktuální doméně aplikace. |
| MayCorruptInstance | 2 | V případě výjimečných podmínek je zaručeno, že metoda omezí poškození stavu na aktuální instanci. |
| WillNotCorruptState | 3 | V případě výjimečných podmínek je zaručeno, že metoda není poškozena. (To nezaručuje, že metoda nikdy selžou, ale zaručuje, že takové selhání nebude nikdy poškozeno.) |
Příklady
Následující příklad kódu ukazuje použití výčtu Consistency při určení omezené spouštěcí oblasti pro metodu. Tento příklad kódu je součástí většího příkladu zadaného 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 Consistency se používá jako parametr ReliabilityContractAttribute atributu k určení záruky spolehlivosti pro danou metodu.