(エッセンス)2020年6月26日C#クラスライブラリ非同期転送支援クラス


using System; using System.Threading; using System.Threading.Tasks; namespace Core.Util { /// /// , ASP.NET /// https://cpratt.co/async-tips-tricks/ /// public static class AsyncHelper { private static readonly TaskFactory _myTaskFactory = new TaskFactory(CancellationToken.None, TaskCreationOptions.None, TaskContinuationOptions.None, TaskScheduler.Default); /// /// /// /// public static void RunSync(Func<Task> func) { //Unwra task _myTaskFactory.StartNew(func).Unwrap().GetAwaiter().GetResult(); } /// /// /// /// /// /// public static TResult RunSync<TResult>(Func<Task<TResult>> func) { //Unwra task return _myTaskFactory.StartNew(func).Unwrap().GetAwaiter().GetResult(); } } }