/// <inheritdoc/>
        public void WriteLine(string content, EPrintColor textColor, EPrintColor backgroundColor)
        {
            string value_textColor       = ToColorValue_Text(textColor);
            string value_backgroundColor = ToColorValue_BackgroundColor(backgroundColor);
            string mergeContnet          = MergeContentAndColorFormat(content, value_textColor, value_backgroundColor);

            base.WriteLine(mergeContnet);
        }
예제 #2
0
        private static void SetConsoleColor(EPrintColor textColor, EPrintColor backgroundColor)
        {
            var console_textColor = ToConsoleColor(textColor);

            if (console_textColor != null)
            {
                Console.ForegroundColor = (ConsoleColor)console_textColor;
            }

            var console_backgroundColor = ToConsoleColor(backgroundColor);

            if (console_backgroundColor != null)
            {
                Console.BackgroundColor = (ConsoleColor)console_backgroundColor;
            }
        }
        private static string ToColorValue_BackgroundColor(EPrintColor printColor)
        {
            switch (printColor)
            {
            case EPrintColor.None: return(null);

            case EPrintColor.Black: return("40");

            case EPrintColor.White: return("47");

            case EPrintColor.Yellow: return("43");

            case EPrintColor.Red: return("41");

            case EPrintColor.Blue: return("44");

            case EPrintColor.Purple: return("45");

            case EPrintColor.Green: return("42");

            default: throw new ArgumentOutOfRangeException(nameof(printColor), $"转为 Linux Shell 背景颜色, 无法解析: {printColor}");
            }
        }
        private static string ToColorValue_Text(EPrintColor printColor)
        {
            switch (printColor)
            {
            case EPrintColor.None: return(null);

            case EPrintColor.Black: return("30");

            case EPrintColor.White: return("37");

            case EPrintColor.Yellow: return("33");

            case EPrintColor.Red: return("31");

            case EPrintColor.Blue: return("34");

            case EPrintColor.Purple: return("35");

            case EPrintColor.Green: return("32");

            default: throw new ArgumentOutOfRangeException(nameof(printColor), $"转为 Linux Shell 文本颜色, 无法解析: {printColor}");
            }
        }
예제 #5
0
        private static ConsoleColor?ToConsoleColor(EPrintColor printColor)
        {
            switch (printColor)
            {
            case EPrintColor.None: return(null);

            case EPrintColor.Black: return(ConsoleColor.Black);

            case EPrintColor.White: return(ConsoleColor.White);

            case EPrintColor.Yellow: return(ConsoleColor.Yellow);

            case EPrintColor.Red: return(ConsoleColor.Red);

            case EPrintColor.Blue: return(ConsoleColor.Blue);

            case EPrintColor.Purple: return(ConsoleColor.Magenta);

            case EPrintColor.Green: return(ConsoleColor.Green);

            default: throw new ArgumentOutOfRangeException(nameof(printColor), $"转为 Window 控制台颜色, 无法解析: {printColor}");
            }
        }
예제 #6
0
 /// <inheritdoc/>
 public void WriteLine(string content, EPrintColor textColor, EPrintColor backgroundColor)
 {
     SetConsoleColor(textColor, backgroundColor);
     base.WriteLine(content);
     Console.ResetColor();
 }
 /// <summary>
 /// 默认黑底, 写入一行内容
 /// </summary>
 /// <param name="printColor">打印输出接口含有颜色项</param>
 /// <param name="content">消息内容</param>
 /// <param name="textColor">文本内容颜色</param>
 public static void WriteLine(this IPrintColor printColor, string content, EPrintColor textColor)
 {
     printColor.WriteLine(content, textColor, EPrintColor.None);
 }