Consistency Enumeración
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Precaución
The Constrained Execution Region (CER) feature is not supported.
Especifica un contrato de confiabilidad.
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
- Herencia
- Atributos
Campos
MayCorruptAppDomain | 1 | Ante condiciones excepcionales, Common Language Runtime (CLR) no ofrece ninguna garantía relativa a la coherencia de estado en el dominio de aplicación actual. |
MayCorruptInstance | 2 | Ante condiciones excepcionales, se garantiza que el método limita el deterioro del estado a la instancia actual. |
MayCorruptProcess | 0 | Ante condiciones excepcionales, CLR no ofrece ninguna garantía relativa a la coherencia de estado; es decir, la condición puede dañar el proceso. |
WillNotCorruptState | 3 | Ante condiciones excepcionales, se garantiza que el método no deteriora el estado. (Esto no garantiza que el método nunca producirá un error; sin embargo, sí garantiza que tal error nunca dañará el estado). |
Ejemplos
En el ejemplo de código siguiente se muestra el uso de la Consistency enumeración al especificar una región de ejecución restringida para un método . Este ejemplo de código forma parte de un ejemplo más grande proporcionado para el 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
Comentarios
La Consistency enumeración se usa como parámetro para el ReliabilityContractAttribute atributo para especificar la garantía de confiabilidad en un método determinado.