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