using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WIDESEAWCS_Core.Helper
{
public static class ConsoleHelper
{
private static readonly object _objLock = new();
/// <summary>
/// 在控制å°è¾“出
/// </summary>
/// <param name="str">文本</param>
/// <param name="color">å‰é¢œè‰²</param>
public static void WriteColorLine(string str, ConsoleColor color)
{
lock (_objLock)
{
ConsoleColor currentForeColor = Console.ForegroundColor;
Console.ForegroundColor = color;
Console.WriteLine(str);
Console.ForegroundColor = currentForeColor;
}
}
/// <summary>
/// 在控制å°è¾“出
/// </summary>
/// <param name="str">文本</param>
/// <param name="color">å‰é¢œè‰²</param>
public static void WriteColorLine(object str, ConsoleColor color)
{
lock (_objLock)
{
ConsoleColor currentForeColor = Console.ForegroundColor;
Console.ForegroundColor = color;
Console.WriteLine(str);
Console.ForegroundColor = currentForeColor;
}
}
/// <summary>
/// 打å°é”™è¯¯ä¿¡æ¯
/// </summary>
/// <param name="str">待打å°çš„å—符串</param>
/// <param name="color">æƒ³è¦æ‰“å°çš„颜色</param>
public static void WriteErrorLine(this string str, ConsoleColor color = ConsoleColor.Red) => WriteColorLine(str, color);
/// <summary>
/// 打å°è¦å‘Šä¿¡æ¯
/// </summary>
/// <param name="str">待打å°çš„å—符串</param>
/// <param name="color">æƒ³è¦æ‰“å°çš„颜色</param>
public static void WriteWarningLine(this string str, ConsoleColor color = ConsoleColor.Yellow) => WriteColorLine(str, color);
/// <summary>
/// æ‰“å°æ£å¸¸ä¿¡æ¯
/// </summary>
/// <param name="str">待打å°çš„å—符串</param>
/// <param name="color">æƒ³è¦æ‰“å°çš„颜色</param>
public static void WriteInfoLine(this string str, ConsoleColor color = ConsoleColor.White) => WriteColorLine(str, color);
/// <summary>
/// æ‰“å°æˆåŠŸçš„ä¿¡æ¯
/// </summary>
/// <param name="str">待打å°çš„å—符串</param>
/// <param name="color">æƒ³è¦æ‰“å°çš„颜色</param>
public static void WriteSuccessLine(this string str, ConsoleColor color = ConsoleColor.Green) => WriteColorLine(str, color);
}
}