public static void BeginExecute <TResult>(this IEnumerable <ICommand> commands, Action <CommandWork <TResult> > callback) { var work = new CommandWork <TResult>(commands); var cmd = (ICommand)work; cmd.EndExecute += x => callback(work); cmd.Execute(); }
public static void BeginExecute(this ICommand command, Action <ICommand> callback) { var work = new CommandWork(ExecutingCommand(command)); var cmd = (ICommand)work; cmd.EndExecute += x => callback(command); cmd.Execute(); }
public static CommandWork <TResult> Execute <TResult>(this IEnumerable <ICommand> commands) { var work = new CommandWork <TResult>(commands); var cmd = (ICommand)work; var mre = new ManualResetEvent(false); cmd.EndExecute += x => mre.Set(); cmd.Execute(); mre.WaitOne(); return(work); }
public static ICommand Execute(this ICommand command) { var work = new CommandWork(ExecutingCommand(command)); var cmd = (ICommand)work; var mre = new ManualResetEvent(false); cmd.EndExecute += x => mre.Set(); cmd.Execute(); mre.WaitOne(); return(command); }