Esempio n. 1
0
 public static IOptionMonad <T> If <T>(IOptionMonad <T> thenSource, IOptionMonad <T> elseSource, Func <bool> selector)
 {
     return(new IfElseStaticCore <T>(thenSource, elseSource, selector));
 }
Esempio n. 2
0
 public IfStaticCore(IOptionMonad <T> thenSource, Func <bool> selector)
 {
     _thenSource = thenSource;
     _selector   = selector;
 }
Esempio n. 3
0
 public static IOptionMonad <TResult> Select <T, TResult>(this IOptionMonad <T> self, Func <T, TResult> selector)
 {
     return(new SelectCore <T, TResult>(self, selector));
 }
Esempio n. 4
0
 public SelectCore(IOptionMonad <T> self, Func <T, TResult> selector)
 {
     _self     = self;
     _selector = selector;
 }
Esempio n. 5
0
 public static IOptionMonad <T> DoOnNone <T>(this IOptionMonad <T> self, Action action)
 {
     return(new DoOnNoneCore <T>(self, action));
 }
Esempio n. 6
0
 public DoOnNoneCore(IOptionMonad <T> self, Action action)
 {
     _self   = self;
     _action = action;
 }
Esempio n. 7
0
 public static IOptionMonad <T> Catch <T>(this IOptionMonad <T> self, Func <IOptionMonad <T> > selector)
 {
     return(new CatchCore <T>(self, selector));
 }
Esempio n. 8
0
 public CatchCore(IOptionMonad <T> self, Func <IOptionMonad <T> > selector)
 {
     _self     = self;
     _selector = selector;
 }
Esempio n. 9
0
 public ZipCore(IOptionMonad <TFirst> self, IOptionMonad <TSecond> second, Func <TFirst, TSecond, TResult> resultSelector)
 {
     _self           = self;
     _second         = second;
     _resultSelector = resultSelector;
 }
Esempio n. 10
0
 public static IOptionMonad <TResult> Zip <TFirst, TSecond, TResult>(this IOptionMonad <TFirst> self, IOptionMonad <TSecond> second, Func <TFirst, TSecond, TResult> resultSelector)
 {
     return(new ZipCore <TFirst, TSecond, TResult>(self, second, resultSelector));
 }
Esempio n. 11
0
 public DoCore(IOptionMonad <T> self, Action <IOptionResult <T> > action)
 {
     _self   = self;
     _action = action;
 }
Esempio n. 12
0
 public static IOptionMonad <T> Do <T>(this IOptionMonad <T> self, Action <IOptionResult <T> > action)
 {
     return(new DoCore <T>(self, action));
 }
Esempio n. 13
0
 public DoOnValueCore(IOptionMonad <T> self, Action <T> action)
 {
     _self   = self;
     _action = action;
 }
Esempio n. 14
0
 public ShareCore(IOptionMonad <T> self)
 {
     _self = self;
     _lazy = Lazy.Create <IOptionResult <T> >(RunSelf);
 }
Esempio n. 15
0
 public static IOptionMonad <T> Share <T>(this IOptionMonad <T> self)
 {
     return(new ShareCore <T>(self));
 }