예제 #1
0
        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);
        }