QT에서 종종사용했던 SingleShot C#에서는 어떤방식으로 유사하게 구현할 수 있을까 정리
DispatcherTimer abc = new DispatcherTimer(); abc.Interval = TimeSpan.FromSeconds(1); abc.Tick += (s, e) => { Debug.WriteLine("TTTTTT"); abc.Stop(); }; abc.Start();
// 24.2.23 SingleShot 대체 테스트 1 await Task.Factory.StartNew(async () => { await Task.Delay(2000); // 매서드 });
// 24.2.23 SingleShot 대체 테스트 2 //Task.Factory.StartNew 보다 아래방식을 사용하는게 좋다고함 var parentTask = Task.Run(() => { var childTask = new Task(() => { Thread.Sleep(2000); // 매서드 }, TaskCreationOptions.AttachedToParent); childTask.Start(); }); parentTask.Wait();
[참고글 - C# Task.Run 사용하기](https://ivorycirrus.github.io/TIL/csharp-task-run/)