Files
MegghysAPI/Entities/LogString.cs
2025-02-25 22:28:49 +08:00

20 lines
1.0 KiB
C#

namespace MegghysAPI.Entities
{
public struct LogString(object text, ConsoleColor? color = null)
{
public string Text { get; set; } = text?.ToString() ?? string.Empty;
public ConsoleColor? Color { get; set; } = color;
public static implicit operator string(LogString d) => d.Text;
public static implicit operator LogString(string d) => new(d);
public static implicit operator LogString(int d) => new(d.ToString());
public static implicit operator LogString(long d) => new(d.ToString());
public static implicit operator LogString((string? text, ConsoleColor color) d) => new(d.text, d.color);
public static implicit operator LogString((object? text, ConsoleColor color) d) => new(d.text, d.color);
public static implicit operator (string text, ConsoleColor color)(LogString d) => (d.Text, d.Color ?? ConsoleColor.Gray);
public static implicit operator (object text, ConsoleColor color)(LogString d) => (d.Text, d.Color ?? ConsoleColor.Gray);
}
}