Begin() private method

private Begin ( DispatcherQueue queue ) : void
queue DispatcherQueue
return void
Exemplo n.º 1
0
        internal void RunTask(ITask task)
        {
            Exception excep = null;
            try {
                var obj = task.LinkedIterator;
                var iter = task.Execute ();
                if (obj != null && iter != null)
                    Console.WriteLine ("FIX ME PLEASE as I have a nested iterator");

                if (iter != null) {
                    IteratorData id = new IteratorData (iter);
                    id.Begin (this);
                }
                if (obj != null)
                    ((IteratorData)obj).Step (task, this);
            } catch (Exception e) {
                    excep = e;
                if (UnhandledException != null) {
                    UnhandledException (this, new UnhandledExceptionEventArgs (e, false));
                    excep = null;
                }
                var port = UnhandledExceptionPort;
                if (port != null) {
                    port.Post (e);
                    excep = null;
                }
            } finally {
                dispatcher.TaskDone (task, excep);
            }
        }