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
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.