Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class AsyncHelper
- {
- private static readonly TaskFactory _myTaskFactory = new TaskFactory(CancellationToken.None,
- TaskCreationOptions.None, TaskContinuationOptions.None, TaskScheduler.Default);
- public static TResult RunSync<TResult>(Func<Task<TResult>> func)
- {
- var cultureUi = CultureInfo.CurrentUICulture;
- var culture = CultureInfo.CurrentCulture;
- return _myTaskFactory.StartNew(() =>
- {
- Thread.CurrentThread.CurrentCulture = culture;
- Thread.CurrentThread.CurrentUICulture = cultureUi;
- return func();
- }).Unwrap().GetAwaiter().GetResult();
- }
- public static void RunSync(Func<Task> func)
- {
- var cultureUi = CultureInfo.CurrentUICulture;
- var culture = CultureInfo.CurrentCulture;
- _myTaskFactory.StartNew(() =>
- {
- Thread.CurrentThread.CurrentCulture = culture;
- Thread.CurrentThread.CurrentUICulture = cultureUi;
- return func();
- }).Unwrap().GetAwaiter().GetResult();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement