public static Try <TFailure, NewTSuccess> SelectMany <TFailure, TSuccess, R, NewTSuccess>(
     this Try <TFailure, TSuccess> @this,
     Func <TSuccess, Try <TFailure, R> > bind,
     Func <TSuccess, R, NewTSuccess> projector
     ) => @this.Match(
     failure: Try <TFailure, NewTSuccess> .Of,
     success: o => @this.Bind(bind).Match(
         failure: Try <TFailure, NewTSuccess> .Of,
         success: projected => Try <TFailure, NewTSuccess> .Of(projector(o, projected)))
     );
Пример #2
0
 public static Try <R> bind <T, R>(Try <T> tryDel, Func <T, Try <R> > binder) =>
 tryDel.Bind(binder);
Пример #3
0
 public static Try <Func <B, C> > apply <A, B, C>(Try <Func <A, B, C> > fabc, Try <A> fa) =>
 fabc.Bind(f => ApplTry <A, B, C> .Inst.Apply(MTry <Func <A, Func <B, C> > > .Inst.Return(curry(f)), fa));
Пример #4
0
 public static Try <R> bind <T, R>(Try <T> self, Func <T, Try <R> > Succ, Func <Exception, Try <R> > Fail) =>
 self.Bind(Succ, Fail);