Table of Contents

Class ActionTask

Namespace
NanoByte.Common.Tasks
Assembly
NanoByte.Common.dll

A task that executes an System.Action. Only completion is reported, no intermediate progress.

public sealed class ActionTask : TaskBase, ITask
Inheritance
object
MarshalByRefObject
ActionTask
Implements
Inherited Members
Extension Methods

Constructors

ActionTask(string, Action, Action?)

A task that executes an System.Action. Only completion is reported, no intermediate progress.

public ActionTask(string name, Action work, Action? cancellationCallback = null)

Parameters

name string

A name describing the task in human-readable form.

work Action

The code to be executed by the task. May throw System.Net.WebException, System.IO.IOException or System.OperationCanceledException.

cancellationCallback Action

An optional callback to be called when cancellation is requested via a System.Threading.CancellationToken.

Properties

CanCancel

Indicates whether this task can be canceled once it has been started.

public override bool CanCancel { get; }

Property Value

bool

Name

A name describing the task in human-readable form.

public override string Name { get; }

Property Value

string

UnitsByte

true if UnitsProcessed and UnitsTotal are measured in bytes; false if they are measured in generic units.

protected override bool UnitsByte { get; }

Property Value

bool

Methods

Execute()

The actual code to be executed.

protected override void Execute()

Remarks

State is automatically set to Started before calling this method, to Complete after a successful exit and to an appropriate error state in case on an exception. You can set additional TaskStates during execution.

Exceptions

OperationCanceledException

The operation was canceled.

IOException

The task ended with IOError.

WebException

The task ended with WebError.