/// <summary> /// Funkce, která se má provést na pozadí /// </summary> /// <typeparam name="TResult">Návratový typ funkce</typeparam> /// <param name="workFunction">Funkce</param> /// <param name="uiDispatcher">UI dispatcher z STA vlákna</param> /// <returns></returns> public static IBackgroundExecutorFunction <TRes> Do <T, TRes>(Func <T, TRes> workFunction, T param, Dispatcher uiDispatcher) { var result = new BackgroundExecutor <TRes>(uiDispatcher); if (workFunction != null) { result.m_worker = () => workFunction.Invoke(param); } return(result); }
/// <summary> /// Funkce, která se má provést na pozadí /// </summary> /// <typeparam name="T">Typ parametru funkce</typeparam> /// <typeparam name="TResult">Návratový typ funkce</typeparam> /// <param name="workFunction">Funkce</param> /// <param name="param">Parametr funkce</param> /// <param name="uiDispatcher">UI dispatcher z STA vlákna</param> /// <returns></returns> public static IBackgroundExecutorFunction <TResult> Do <T, TResult>(Func <T, TResult> workFunction, T param, Dispatcher uiDispatcher) { return(BackgroundExecutor <TResult> .Do(workFunction, param, uiDispatcher)); }