public void Execute <T>(T[] data, VoidFunc <T[]> executeFunc, VoidFunc threadComplete, VoidFunc callback) { if (data == null) { throw new ArgumentNullException("data"); } if (data.Length == 0) { return; } if (executeFunc == null) { throw new ArgumentNullException("executeFunc"); } if (threadComplete == null) { throw new ArgumentNullException("threadComplete"); } var handler = new VoidFunc <T[], VoidFunc <T[]>, VoidFunc>(ActualExecute); handler.BeginInvoke(data, executeFunc, threadComplete, a => { if (callback != null) { callback(); } }, null); }
public void Execute <T>(T[] data, VoidFunc <T[]> executeFunc) { if (data == null) { throw new ArgumentNullException("data"); } if (data.Length == 0) { return; } var handler = new VoidFunc <T[], VoidFunc <T[]>, VoidFunc>(ActualExecute); handler.BeginInvoke(data, executeFunc, null, a => { }, null); }
/// <summary> /// /// </summary> /// <typeparam name="T"></typeparam> /// <typeparam name="TReturn"></typeparam> /// <param name="data"></param> /// <param name="executeHandler"></param> /// <param name="threadComplete"></param> /// <param name="callback"></param> public void Execute <T, TReturn>(T[] data, Func <T[], TReturn> executeHandler, VoidFunc <TReturn> threadComplete, VoidFunc callback) { if (data == null) { throw new ArgumentNullException("data"); } if (data.Length == 0) { return; } var handler = new VoidFunc <T[], Func <T[], TReturn>, VoidFunc <TReturn> >(ActualExecute); handler.BeginInvoke(data, executeHandler, threadComplete, a => { if (callback != null) { callback(); } }, null); }