Esempio n. 1
0
        EventActivityBinder <TInstance, TData> EventActivityBinder <TInstance, TData> .Catch <T>(
            Func <ExceptionActivityBinder <TInstance, TData, T>, ExceptionActivityBinder <TInstance, TData, T> > activityCallback)
        {
            ExceptionActivityBinder <TInstance, TData, T> binder = new CatchExceptionActivityBinder <TInstance, TData, T>(_machine, _event);

            binder = activityCallback(binder);

            ActivityBinder <TInstance> activityBinder = new CatchActivityBinder <TInstance, T>(_event, binder);

            return(new DataEventActivityBinder <TInstance, TData>(_machine, _event, _filter, _activities, activityBinder));
        }
        public ExceptionActivityBinder <TInstance, TException> Catch <T>(
            Func <ExceptionActivityBinder <TInstance, T>, ExceptionActivityBinder <TInstance, T> > activityCallback)
            where T : Exception
        {
            ExceptionActivityBinder <TInstance, T> binder = new CatchExceptionActivityBinder <TInstance, T>(_machine, _event);

            binder = activityCallback(binder);

            ActivityBinder <TInstance> activityBinder = new CatchActivityBinder <TInstance, T>(_event, binder);

            return(new CatchExceptionActivityBinder <TInstance, TException>(_machine, _event, _activities, activityBinder));
        }