private IEnumerable <ICab> CabsPourPage(string page, TypeEditeur éditeur, ITaskObserver observer) { observer.NotifyProgress(this, 0); var cabs = new List <ICab>(); var matches = _RegexCab.Matches(page); using (var steps = observer.GetSteps(matches.Count).GetEnumerator()) { foreach (Match mCab in matches) { observer.NotifyProgress(this, steps.Current); var donnéesBrutes = CréerDonnéesBrutes(mCab, éditeur); if (donnéesBrutes != null) { var cab = CréerCab(donnéesBrutes); if (cab != null) { cabs.Add(cab); } } steps.MoveNext(); } } observer.NotifyProgress(this, 100); return(cabs); }