Consistency Enumeração
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Cuidado
The Constrained Execution Region (CER) feature is not supported.
Especifica um contrato de confiabilidade.
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
- Herança
- Atributos
Campos
MayCorruptAppDomain | 1 | Diante de condições excepcionais, o CLR (Common Language Runtime) não oferece garantias em relação à consistência de estado no domínio do aplicativo atual. |
MayCorruptInstance | 2 | Diante de condições excepcionais, o método tem a garantia de limitar os danos ao estado na instância atual. |
MayCorruptProcess | 0 | Diante de condições excepcionais, o CLR não oferece nenhuma garantia em relação à consistência de estado; ou seja, a condição pode corromper o processo. |
WillNotCorruptState | 3 | Diante de condições excepcionais, o método tem a garantia de não corromper o estado. Isso não garante que o método nunca falhe. No entanto, garante que essa falha nunca corrompa o estado. |
Exemplos
O exemplo de código a seguir demonstra o uso da Consistency enumeração ao especificar uma região de execução restrita para um método. Este exemplo de código faz parte de um exemplo maior fornecido para o ReliabilityContractAttribute construtor.
[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
Comentários
A Consistency enumeração é usada como um parâmetro para o ReliabilityContractAttribute atributo para especificar a garantia de confiabilidade em um determinado método.