Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
CA2250: Использование
| Свойство | Значение |
|---|---|
| Идентификатор правила | CA2250 |
| Заголовок | Использование ThrowIfCancellationRequested |
| Категория | Использование |
| Исправление является критическим или не критическим | неразрывный |
| Включен по умолчанию в .NET 10 | Как предложение |
| Применимые языки | C# и Visual Basic |
Причина
Это правило помечает условные операторы, которые проверяют IsCancellationRequested перед вызовом OperationCanceledException.
Описание правила
То же самое можно сделать, вызвав CancellationToken.ThrowIfCancellationRequested().
Устранение нарушений
Чтобы устранить нарушения, замените условный оператор вызовом к ThrowIfCancellationRequested().
using System;
using System.Threading;
public void MySlowMethod(CancellationToken token)
{
// Violation
if (token.IsCancellationRequested)
throw new OperationCanceledException();
// Fix
token.ThrowIfCancellationRequested();
// Violation
if (token.IsCancellationRequested)
throw new OperationCanceledException();
else
DoSomethingElse();
// Fix
token.ThrowIfCancellationRequested();
DoSomethingElse();
}
Imports System
Imports System.Threading
Public Sub MySlowMethod(token As CancellationToken)
' Violation
If token.IsCancellationRequested Then
Throw New OperationCanceledException()
End If
' Fix
token.ThrowIfCancellationRequested()
' Violation
If token.IsCancellationRequested Then
Throw New OperationCanceledException()
Else
DoSomethingElse()
End If
' Fix
token.ThrowIfCancellationRequested()
DoSomethingElse()
End Sub
Когда лучше отключить предупреждения
Вы можете безопасно отключить предупреждения, связанные с этим правилом.
Отключение предупреждений
Если вы просто хотите отключить одно нарушение, добавьте директивы препроцессора в исходный файл, чтобы отключить и повторно включить правило.
#pragma warning disable CA2250
// The code that's violating the rule is on this line.
#pragma warning restore CA2250
Чтобы отключить правило для файла, папки или проекта, задайте его серьезность none в файле конфигурации.
[*.{cs,vb}]
dotnet_diagnostic.CA2250.severity = none
Дополнительные сведения см. в разделе Практическое руководство. Скрытие предупреждений анализа кода.