Class AnsiCliTaskHandler
Informs the user about the progress of tasks and ask questions using ANSI console output.
[MustDisposeResource]
public class AnsiCliTaskHandler : CliTaskHandler, ITaskHandler
- Inheritance
-
objectAnsiCliTaskHandler
- Implements
- Inherited Members
- Extension Methods
Remarks
This class is thread-safe.
Properties
CredentialProvider
Used to ask the user or a keyring for System.Net.NetworkCredentials for specific System.Uris; can be null.
protected override ICredentialProvider CredentialProvider { get; }
Property Value
IsInteractive
Indicates whether the user can provide input.
protected override bool IsInteractive { get; }
Property Value
- bool
Methods
AskInteractive(string, bool)
Asks the user a Yes/No/Cancel question.
protected override bool AskInteractive(string question, bool defaultAnswer)
Parameters
questionstringThe question and comprehensive information to help the user make an informed decision.
defaultAnswerboolThe default answer to preselect.
Returns
- bool
trueif the user answered with 'Yes';falseif the user answered with 'No'.
Exceptions
- OperationCanceledException
Throw if the user answered with 'Cancel'.
DisplayLogEntry(LogSeverity, string)
Prints Log entries to the System.Console.
protected override void DisplayLogEntry(LogSeverity severity, string message)
Parameters
severityLogSeveritymessagestring
Dispose()
Unregisters the Handler and the System.Console.CancelKeyPress handler.
public override void Dispose()
Error(Exception)
Displays an error message to the user.
public override void Error(Exception exception)
Parameters
exceptionExceptionThe exception representing the error that occurred.
Output(string, string)
Displays multi-line text to the user.
public override void Output(string title, string message)
Parameters
titlestringA title for the message.
messagestringThe string to display. Trailing linebreaks are appropriately handled or ignored.
Remarks
Implementations may close the UI as a side effect. Therefore this should be your last call on the handler.
Output<T>(string, NamedCollection<T>)
Displays tree-like data to the user.
public override void Output<T>(string title, NamedCollection<T> data) where T : INamed
Parameters
titlestringA title for the data.INamed
dataNamedCollection<T>The data to display.
Type Parameters
T
Remarks
Implementations may close the UI as a side effect. Therefore this should be your last call on the handler.
Output<T>(string, IEnumerable<T>)
Displays tabular data to the user.
public override void Output<T>(string title, IEnumerable<T> data)
Parameters
titlestringA title for the data.
dataIEnumerable<T>The data to display.
Type Parameters
T
Remarks
Implementations may close the UI as a side effect. Therefore this should be your last call on the handler.
RunTask(ITask)
Runs an ITask and tracks its progress. Returns once the task has been completed.
public override void RunTask(ITask task)
Parameters
taskITaskThe task to be run. (Run(CancellationToken, ICredentialProvider?, IProgress<TaskSnapshot>?) or equivalent is called on it.)