AsyncCompletedEventArgs.Cancelled Właściwość

Definicja

Pobiera wartość wskazującą, czy operacja asynchroniczna została anulowana.

C#
public bool Cancelled { get; }

Wartość właściwości

true jeśli operacja w tle została anulowana; w przeciwnym razie false. Wartość domyślna to false.

Przykłady

W poniższym przykładzie kodu pokazano użycie elementu do AsyncOperation śledzenia okresu istnienia operacji asynchronicznych. Ten przykład kodu jest częścią większego przykładu udostępnionego System.ComponentModel.AsyncOperationManager dla klasy .

C#
using System;
using System.Collections;
using System.Collections.Specialized;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Globalization;
using System.Threading;
using System.Windows.Forms;
C#
// This event handler updates the ListView control when the
// PrimeNumberCalculator raises the CalculatePrimeCompleted
// event. The ListView item is updated with the appropriate
// outcome of the calculation: Canceled, Error, or result.
private void primeNumberCalculator1_CalculatePrimeCompleted(
    object sender, 
    CalculatePrimeCompletedEventArgs e)
{
    Guid taskId = (Guid)e.UserState;

    if (e.Cancelled)
    {   
        string result = "Canceled";

        ListViewItem lvi = UpdateListViewItem(taskId, result);

        if (lvi != null)
        {
            lvi.BackColor = Color.Pink;
            lvi.Tag = null;
        }
    }
    else if (e.Error != null)
    {
        string result = "Error";

        ListViewItem lvi = UpdateListViewItem(taskId, result);

        if (lvi != null)
        {
            lvi.BackColor = Color.Red;
            lvi.ForeColor = Color.White;
            lvi.Tag = null;
        }
    }
    else
    {   
        bool result = e.IsPrime;

        ListViewItem lvi = UpdateListViewItem(
            taskId, 
            result, 
            e.FirstDivisor);

        if (lvi != null)
        {
            lvi.BackColor = Color.LightGray;
            lvi.Tag = null;
        }
    }
}

Uwagi

Gdy Cancelled właściwość ma truewartość , operacja asynchroniczna została przerwana.

Delegat programu obsługi zdarzeń aplikacji klienckiej powinien sprawdzić Cancelled właściwość przed uzyskaniem dostępu do wszystkich właściwości klasy pochodnej z AsyncCompletedEventArgsklasy . W przeciwnym razie właściwość zgłosi InvalidOperationException , jeśli operacja asynchroniczna została przerwana.

Uwagi dotyczące dziedziczenia

Jeśli podasz właściwości tylko do odczytu w klasie pochodnej, pamiętaj, aby wywołać metodę RaiseExceptionIfNecessary() . Uniemożliwia to klientom uzyskiwanie dostępu do właściwości, które są potencjalnie nieprawidłowe z powodu błędu w operacji asynchronicznej.

Dotyczy

Produkt Wersje
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

Zobacz też