다음을 통해 공유


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 지정하기 위해 특성에 대한 매개 변수로 사용됩니다.

적용 대상

추가 정보