| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- using System;
- using Quadarax.Foundation.Common.Object;
- namespace Quadarax.Foundation.Common.Console
- {
- public class ConsoleWriter : DisposableObject
- {
- private readonly ConsoleColor _oldBackColor;
- private readonly ConsoleColor _oldForeColor;
- private readonly ConsoleColor _backColor;
- private readonly ConsoleColor _foreColor;
-
- public ConsoleWriter(ConsoleColor foreColor,ConsoleColor backColor)
- {
- _oldBackColor = System.Console.BackgroundColor;
- _oldForeColor = System.Console.ForegroundColor;
- _backColor = backColor;
- _foreColor = foreColor;
- }
- public ConsoleWriter(ConsoleColor foreColor)
- {
- _oldBackColor = System.Console.BackgroundColor;
- _oldForeColor = System.Console.ForegroundColor;
- _backColor = _oldBackColor;
- _foreColor = foreColor;
- }
- public ConsoleWriter WriteLine(string text)
- {
- SetColor();
- System.Console.WriteLine(text);
- return this;
- }
- public string ReadLine()
- {
- SetColor();
- return System.Console.ReadLine();
- }
- public ConsoleWriter WriteLine()
- {
- System.Console.WriteLine();
- return this;
- }
- public ConsoleWriter Write(string text)
- {
- SetColor();
- System.Console.Write(text);
- return this;
- }
- public static void Clear()
- {
- System.Console.Clear();
- }
- protected override void OnDisposing()
- {
- System.Console.ForegroundColor = _oldForeColor;
- System.Console.BackgroundColor = _oldBackColor;
- }
- private void SetColor()
- {
- System.Console.ForegroundColor = _foreColor;
- System.Console.BackgroundColor = _backColor;
- }
- }
- }
|