Files
DevToolsAvalonia/常用工具集/Utility/Network/Modbus/SharpSerial/Program.Stdio.cs
2025-08-26 08:37:44 +08:00

48 lines
1.3 KiB
C#

using System;
using System.Diagnostics;
namespace SharpSerial
{
public static class Stdio
{
private static bool traceTimed = false;
private static bool traceEnabled = false;
private static readonly object locker = new object();
public static string ReadLine() => Console.ReadLine();
public static void WriteLine(string format, params object[] args)
{
lock (locker)
{
Console.Out.WriteLine(format, args);
Console.Out.Flush();
}
}
[Conditional("DEBUG")]
public static void Trace(string format, params object[] args)
{
if (traceEnabled)
{
lock (locker)
{
if (traceTimed)
{
Console.Error.Write(DateTime.Now.ToString("HH:mm:ss.fff"));
Console.Error.Write(" ");
}
Console.Error.WriteLine(format, args);
Console.Error.Flush();
}
}
}
public static void EnableTrace(bool enable, bool timed)
{
traceTimed = timed;
traceEnabled = enable;
}
}
}