Consistency Enum
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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
- 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.