Esempio n. 1
0
 public static CanCauseError <T> ExceptionToError <T>(this Func <T> f)
 {
     try
     {
         var result = f();
         return(CanCauseError <T> .NoError(result));
     }
     catch (Exception e)
     {
         return(CanCauseError <T> .Error(e.Message));
     }
 }
Esempio n. 2
0
        public static CanCauseError <T> Bind <T>(this IEnumerable <Func <T, CanCauseError <T> > > functions, T start)
        {
            CanCauseError <T> result = CanCauseError <T> .NoError(start);

            foreach (var func in functions)
            {
                result = func(result.Result);
                if (result.CausedError)
                {
                    break;
                }
            }
            return(result);
        }