Megosztás a következőn keresztül:


CA2250: Használat ThrowIfCancellationRequested

Tulajdonság Érték
Szabályazonosító CA2250
Cím Használja a következő parancsot: ThrowIfCancellationRequested
Kategória Használat
A javítás kompatibilitástörő vagy nem törik Nem törés
Alapértelmezés szerint engedélyezve a .NET 8-ban Javaslatként

Ok

Ez a szabály a dobás OperationCanceledExceptionelőtt ellenőrizni kívánt IsCancellationRequested feltételes utasításokat jelöli.

Szabály leírása

Ugyanezt megteheti a hívással CancellationToken.ThrowIfCancellationRequested()is.

Szabálysértések kijavítása

A szabálysértések kijavításához cserélje le a feltételes utasítást egy hívásra.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

Mikor kell letiltani a figyelmeztetéseket?

Biztonságosan letilthatja a szabályból származó figyelmeztetéseket.

Figyelmeztetés mellőzése

Ha csak egyetlen szabálysértést szeretne letiltani, adjon hozzá előfeldolgozási irányelveket a forrásfájlhoz a szabály letiltásához és újbóli engedélyezéséhez.

#pragma warning disable CA2250
// The code that's violating the rule is on this line.
#pragma warning restore CA2250

Ha le szeretné tiltani egy fájl, mappa vagy projekt szabályát, állítsa annak súlyosságát none a konfigurációs fájlban.

[*.{cs,vb}]
dotnet_diagnostic.CA2250.severity = none

További információ: Kódelemzési figyelmeztetések letiltása.

Kapcsolódó információk