public void RemoveParameter(StartupParameter param) { if (!Parameters.Contains(param)) { throw new ArgumentException("collection does not contain this parameter", nameof(param)); } Parameters.Remove(param); }
internal async void RunParameter(StartupParameter param) { if (!File.Exists(param.FullPath)) { throw new ArgumentException("so such file - " + param.FullPath, nameof(param)); } var info = GetInfo(param.FullPath, param.Arguments); var runner = GetRunner(param); await runner.Run(info, _tokenSource.Token); }
private IRunner GetRunner(StartupParameter param) { switch (param.Method) { case StartupMethod.Exit: return(new ExitRunner(param.Timeout)); case StartupMethod.Maximised: return(new MaximisedRunner()); default: throw new NotSupportedException(); } }