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
- Наследование
- Атрибуты
Поля
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 для указания гарантии надежности для заданного метода.