예제 #1
0
        static void _RunnerNoResult(object state)
        {
            AsyncNoResult <ThreadStart> ar = (AsyncNoResult <ThreadStart>)state;

            try {
                ThreadStart dlgt = ar.BeginParameters;
                dlgt();
            } catch (Exception ex) {
                TargetInvocationException tex
                    = CreateTargetInvocationException(ex);
                ar.SetAsCompleted(tex, false);
                return;
            }
            ar.SetAsCompleted(null, false);
        }
예제 #2
0
        static void dlgt_Runner(object state)
        {
            AsyncNoResult <FooParams> ar = (AsyncNoResult <FooParams>)state;

            try {
                ar.BeginParameters.dlgt(ar.BeginParameters.port, ar.BeginParameters.eventId);
            } catch (Exception ex) {
                ar.SetAsCompleted(ex, false);

                /* TODO TargetInvocationException tex
                 *      = new System.Reflection.TargetInvocationException(ex);
                 *  ar.SetAsCompleted(tex, false);
                 */
                return;
            }
            ar.SetAsCompleted(null, false);
        }