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); }
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); }