Rediger

Del via


Consistency Enum

Definition

Caution

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

Specifies a reliability contract.

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
Inheritance
Consistency
Attributes

Fields

Name Value Description
MayCorruptProcess 0

In the face of exceptional conditions, the CLR makes no guarantees regarding state consistency; that is, the condition might corrupt the process.

MayCorruptAppDomain 1

In the face of exceptional conditions, the common language runtime (CLR) makes no guarantees regarding state consistency in the current application domain.

MayCorruptInstance 2

In the face of exceptional conditions, the method is guaranteed to limit state corruption to the current instance.

WillNotCorruptState 3

In the face of exceptional conditions, the method is guaranteed not to corrupt state. (This does not guarantee that the method will never fail; however, it does guarantee that such a failure will never corrupt state.)

Examples

The following code example demonstrates the use of the Consistency enumeration when specifying a constrained execution region for a method. This code example is part of a larger example provided for the ReliabilityContractAttribute constructor.

[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

Remarks

The Consistency enumeration is used as a parameter to the ReliabilityContractAttribute attribute to specify the reliability guarantee on a given method.

Applies to

See also