Microsoft.Ccr.Core.DispatcherQueue.RunTask C# (CSharp) Method

RunTask() private method

private RunTask ( ITask task ) : void
task ITask
return void
        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);
            }
        }