Поделиться через


Consistency Перечисление

Определение

Внимание!

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

Указывает контракт о надежности.

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
Наследование
Consistency
Атрибуты

Поля

MayCorruptAppDomain 1

При возникновении исключительных условий среда CLR не обеспечивает согласованности состояний в текущем домене приложений.

MayCorruptInstance 2

При возникновении исключительных условий гарантируется, что метод ограничит повреждения состояний текущим экземпляром.

MayCorruptProcess 0

При возникновении исключительных условий среда CLR не обеспечивает согласованности состояний, то есть исключительное условие может повредить процесс.

WillNotCorruptState 3

При возникновении исключительных условий, гарантируется, что метод не повредит состояние. (Это не гарантирует, что при выполнении метода не произойдет сбой, но гарантирует, что такой сбой никогда не приведет к повреждению состояния.)

Примеры

В следующем примере кода показано использование перечисления Consistency при указании ограниченной области выполнения для метода. Этот пример кода является частью более крупного примера, предоставленного для конструктора 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

Комментарии

Перечисление Consistency используется в качестве параметра атрибута ReliabilityContractAttribute для указания гарантии надежности для заданного метода.

Применяется к

См. также раздел