<refactor>

This commit is contained in:
2022-12-05 20:22:18 +08:00
parent 7a0efaf015
commit 3cb3b13f98
22 changed files with 70 additions and 25 deletions

View File

@ -5,7 +5,7 @@ using System.Runtime.InteropServices;
namespace Dot.Time;
public sealed class Main : Tool<Option>
public sealed class Main : ToolBase<Option>
{
private record Server
{
@ -217,16 +217,20 @@ public sealed class Main : Tool<Option>
Console.WriteLine(Str.NtpReceiveDone, _successCnt, _serverCnt, avgOffset.TotalMilliseconds);
if (!Opt.Sync) {
if (!Opt.KeepSession) return;
var waitObj = new ManualResetEvent(false);
var _ = Task.Run(async () => {
var top = Console.GetCursorPosition().Top;
while (true) {
Console.SetCursorPosition(0, top);
Console.Write(Str.NtpServerTime, (DateTime.Now - avgOffset).ToString("O"));
waitObj.Set();
await Task.Delay(100);
Console.SetCursorPosition(0, Console.GetCursorPosition().Top);
Console.Write(Str.ServerTime, (DateTime.Now - avgOffset).ToString("O"));
Console.Write(@", {0}", Str.PressAnyKey);
}
// ReSharper disable once FunctionNeverReturns
});
Console.ReadKey();
waitObj.WaitOne();
return;
}

View File

@ -1,7 +1,7 @@
namespace Dot.Time;
[Verb("time", HelpText = nameof(Str.TimeTool), ResourceType = typeof(Str))]
public class Option : IOption
public class Option : OptionBase
{
[Option('s', "sync", HelpText = nameof(Str.SyncToLocalTime), Default = false, ResourceType = typeof(Str))]
public bool Sync { get; set; }