protected virtual void OnSearchCompleted(bool isCanceled)
        {
            EventHandler <SearchCompletedEventArgs> handler = SearchCompleted;

            if (handler != null)
            {
                if (handlerOption == ExecuteHandlers.InNewTask)
                {
                    try
                    {
                        Task.WaitAll(taskHandlers.ToArray());
                    }
                    catch (AggregateException ex)
                    {
                        if (!(ex.InnerException is TaskCanceledException))
                        {
                            throw;
                        }

                        if (!isCanceled)
                        {
                            isCanceled = true;
                        }
                    }
                }

                var arg = new SearchCompletedEventArgs(isCanceled);

                handler(this, arg);
            }
        }
Пример #2
0
        protected virtual void CallSearchCompleted(bool isCanceled)
        {
            EventHandler <SearchCompletedEventArgs> handler = SearchCompleted;

            if (handler != null)
            {
                var arg = new SearchCompletedEventArgs(isCanceled);

                handler(this, arg);
            }
        }