Пример #1
0
        /// <summary>
        /// Load data asynchronously
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="loader">The object that provides implementation of data loading</param>
        /// <param name="asyncHelper">The service provides asynchronous performance</param>
        /// <param name="asyncObject">The object contains the method for perform asynchronously</param>
        /// <returns></returns>
        public static async Task <IEnumerable <T> > LoadDataAsync <T>(IDataLoader <T> loader, IAsynchronousable asyncObject)
        {
            IEnumerable <T> result = null;
            await AsynchorousPerformHelper.PerformAsync(asyncObject, () => result = loader.LoadData());

            return(result);
        }
 public static async Task PerformAsync(IAsynchronousable asyncMethod, Action asyncAction)
 {
     asyncAction();
     asyncMethod.ActionAsync.Start();
     await asyncMethod.ActionAsync;
 }