예제 #1
0
        public void IfHasValue(Action <T> action)
        {
            Checker.Null <ArgumentNullException>(action);

            if (HasValue)
            {
                action(value);
            }
        }
예제 #2
0
        public IMaybe <TResult> Bind <TResult>(Func <T, IMaybe <TResult> > function)
        {
            Checker.Null <ArgumentNullException>(function);

            if (HasValue)
            {
                return(function.Invoke(value));
            }
            return(Maybe <TResult> .None);
        }
예제 #3
0
        public T ValueOr(Func <T> function)
        {
            Checker.Null <ArgumentNullException>(function);

            if (HasValue)
            {
                return(value);
            }

            return(function.Invoke());
        }
예제 #4
0
파일: Just.cs 프로젝트: seymourpoler/Monads
 public T ValueOr(Func <T> function)
 {
     Checker.Null <ArgumentNullException>(function);
     return(value);
 }
예제 #5
0
파일: Just.cs 프로젝트: seymourpoler/Monads
 public IMaybe <TResult> Bind <TResult>(Func <T, TResult> function)
 {
     Checker.Null <ArgumentNullException>(function);
     return(Maybe <TResult> .Of(function.Invoke(value)));
 }
예제 #6
0
파일: Just.cs 프로젝트: seymourpoler/Monads
 public void IfHasValue(Action <T> action)
 {
     Checker.Null <ArgumentNullException>(action);
     action.Invoke(value);
 }
예제 #7
0
파일: None.cs 프로젝트: seymourpoler/Monads
 public IMaybe <TResult> Bind <TResult>(Func <T, IMaybe <TResult> > function)
 {
     Checker.Null <ArgumentNullException>(function);
     return(None <TResult> .Of());
 }