private static ErrorWrapper <TRes> WrapperFunc <T1, T2, TRes>(Func <T1, T2, TRes> f, T1 p1, T2 p2) { try { return(ErrorWrapper.New(f(p1, p2))); } catch (Exception e) { // Handle exceptions return(new ErrorWrapper <TRes>(e)); } }
private static ErrorWrapper <MyVoid> WrapperAction <T1, T2>(Action <T1, T2> f, T1 p1, T2 p2) { try { f(p1, p2); return(ErrorWrapper.New(default(MyVoid))); } catch (Exception e) { // Handle exceptions return(new ErrorWrapper <MyVoid>(e)); } }