Пример #1
0
            public async override Task Handle <TValue>(EffAwaiter <TValue> awaiter)
            {
                var result = MaybeEffectHandler.Run(awaiter.Eff);

                if (result.HasValue)
                {
                    awaiter.SetResult(result.Value);
                    var next = _continuation.MoveNext();
                    Result = MaybeEffectHandler.Run(next);
                }
            }
Пример #2
0
 public async override Task Handle <TValue>(EffectAwaiter <TValue> awaiter)
 {
     switch (awaiter.Effect)
     {
     case MaybeEffect <TValue> me:
         if (me.Result.HasValue)
         {
             awaiter.SetResult(me.Result.Value);
             var next = _continuation.MoveNext();
             Result = MaybeEffectHandler.Run(next);
         }
         break;
     }
 }
Пример #3
0
 static void Main()
 {
     MaybeEffectHandler.Run(Test());
 }