protected IEnumerable <IColumnProcess> GetProcesses() { var processes = new List <IColumnProcess>(); var range = ETLRange.Split(':'); var start = 0; var end = etl.CurrentETLTools.Count; if (range.Length == 2) { try { start = int.Parse(range[0]); end = int.Parse(range[1]); if (end <= start) { throw new Exception("第二个数字应该比第一个数更大"); } } catch (Exception ex) { XLogSys.Print.Error("子流范围表达式错误,请检查:" + ex.Message); } } foreach (var tool in etl.CurrentETLTools.Skip(start).Take(end - start)) { processes.Add(tool); } return(processes); }
protected IEnumerable <IColumnProcess> GetProcesses() { var range = ETLRange.Split(':'); var start = 0; if (etl == null) { yield break; } var end = etl.CurrentETLTools.Count; if (range.Length == 2) { try { start = int.Parse(range[0]); if (start < 0) { start = etl.CurrentETLTools.Count + start; } end = int.Parse(range[1]); if (end < 0) { end = etl.CurrentETLTools.Count + end; } } catch (Exception ex) { XLogSys.Print.Error("子流范围表达式错误,请检查:" + ex.Message); } } foreach (var tool in etl.CurrentETLTools.Skip(start).Take(end - start)) { yield return(tool); } }