Прочитать на английском

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


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

Определение

Внимание!

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

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

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

Поля

Имя Значение Описание
MayCorruptAppDomain 1

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

MayCorruptInstance 2

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

MayCorruptProcess 0

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

WillNotCorruptState 3

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

Примеры

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

Комментарии

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

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

Продукт Версии (Устарело)
.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

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