A rich console provides a number of services that enable a console to be shared among several cooperating tasks that are independently updating different portions of the display.

Namespace:  Gallio.Runtime.ConsoleSupport
Assembly:  Gallio (in Gallio.dll) Version: 3.3.0.0 (3.3.610.0)

Syntax

C#
public interface IRichConsole
Visual Basic (Declaration)
Public Interface IRichConsole

Remarks

One task can be writing to the main body of text while another updates a footer.

The rich console also supports intelligent cancelation of tasks. When the user presses control-C, a cancelation flag is set and an event handler is invoked. Tasks can check for the presence of the cancelation flag even if they started execution after the control-C itself occurred. This provides protection against dropped cancelation requests due to race conditions. If the user presses control-C 3 times within a short interval the rich console assumes that the program has become non-responsive and terminates it.

Finally, the rich console interface can be mocked for testing purposes unlike the standard Console API.

See Also