void mBW_DoWork(object sender, DoWorkEventArgs e) { var args = e.Argument as BWArgs; int opt = 0; if (args.isParallel) { opt |= (int)ReadAllFilesOnFolder.Option.Parallel; } System.Diagnostics.Debug.Assert(mReader != null); mReader.Run(args.root, opt); if (mBW.CancellationPending) { e.Cancel = true; } }
private bool ParseCommandline() { var args = System.Environment.GetCommandLineArgs(); if (2 != args.Length && 3 != args.Length) { PrintUsage(args[0]); return(false); } string folder = args[args.Length - 1]; int opt = 0; if (args.Length == 3) { if (0 != "-Parallel".CompareTo(args[1])) { PrintUsage(args[0]); return(false); } opt = (int)ReadAllFilesOnFolder.Option.Parallel; } // コマンドライン実行する。 mStopWatch.Restart(); mStopWatchLogUpdate.Restart(); Console.WriteLine("IsParallel={0}, Folder={1}", opt, folder); var r = new ReadAllFilesOnFolder(ReadProgressCallback_Console); r.Run(folder, opt); r.Dispose(); r = null; Console.WriteLine("Done. Elapsed time = {0}", mStopWatch.Elapsed); return(true); }