コード例 #1
0
ファイル: Option.Do.cs プロジェクト: KAW0/AscheLib.UniMonad
            public IOptionResult <T> RunOption()
            {
                IOptionResult <T> result = _self.RunOption();

                _action(result);
                return(result);
            }
コード例 #2
0
            public IOptionResult <T> RunOption()
            {
                IOptionResult <T> result = _self.RunOption();

                if (result.IsNone)
                {
                    _action();
                }
                return(result);
            }
コード例 #3
0
            public IOptionResult <TResult> RunOption()
            {
                IOptionResult <T> result = _self.RunOption();

                if (!result.IsNone)
                {
                    return(new JustResult <TResult>(_selector(result.Value)));
                }
                return(NoneResult <TResult> .Default);
            }
コード例 #4
0
            public IOptionResult <T> RunOption()
            {
                IOptionResult <T> result = _self.RunOption();

                if (!result.IsNone)
                {
                    return(result);
                }
                return(_selector().RunOption());
            }
コード例 #5
0
ファイル: Option.Zip.cs プロジェクト: KAW0/AscheLib.UniMonad
            public IOptionResult <TResult> RunOption()
            {
                IOptionResult <TFirst>  selfResult   = _self.RunOption();
                IOptionResult <TSecond> secondResult = _second.RunOption();

                if (!selfResult.IsNone && !secondResult.IsNone)
                {
                    return(new JustResult <TResult>(_resultSelector(selfResult.Value, secondResult.Value)));
                }
                return(NoneResult <TResult> .Default);
            }
コード例 #6
0
 public IOptionResult <T> RunOption()
 {
     if (_selector())
     {
         return(_thenSource.RunOption());
     }
     else
     {
         return(NoneResult <T> .Default);
     }
 }
コード例 #7
0
 public IOptionResult <T> RunOption()
 {
     if (_selector())
     {
         return(_thenSource.RunOption());
     }
     else
     {
         return(_elseSource.RunOption());
     }
 }
コード例 #8
0
        public static void Execute <T>(this IOptionMonad <T> self)
        {
            IOptionResult <T> selfResult = self.RunOption();

            if (selfResult.IsNone)
            {
                return;
            }
            else
            {
                return;
            }
        }
コード例 #9
0
ファイル: Option.If.cs プロジェクト: KAW0/AscheLib.UniMonad
            public IOptionResult <T> RunOption()
            {
                IOptionResult <T> result = _self.RunOption();

                if (_selector(result))
                {
                    return(result);
                }
                else
                {
                    return(NoneResult <T> .Default);
                }
            }
コード例 #10
0
ファイル: Option.If.cs プロジェクト: KAW0/AscheLib.UniMonad
            public IOptionResult <T> RunOption()
            {
                IOptionResult <T> result = _self.RunOption();

                if (_selector(result))
                {
                    return(result);
                }
                else
                {
                    return(_elseSource.RunOption());
                }
            }
コード例 #11
0
        public static void Execute <T>(this IOptionMonad <T> self, Action <T> onJust)
        {
            IOptionResult <T> selfResult = self.RunOption();

            if (selfResult.IsNone)
            {
                return;
            }
            else
            {
                onJust(selfResult.Value);
                return;
            }
        }
コード例 #12
0
 IOptionResult <T> RunSelf()
 {
     return(_self.RunOption());
 }