Ejemplo n.º 1
0
        /// <summary>
        /// Delegates the accept operation to the wrapped monad.
        /// </summary>
        public TReturn Accept <TReturn>(IMonadVisitor <TValue, TReturn> visitor)
        {
            String stringified = StringifyMonad(InnerMonad);

            Logger.LogInformation($"Accepting visitor with monad: <{stringified}>.");

            return(InnerMonad.Accept(visitor));
        }
Ejemplo n.º 2
0
 /// <summary>
 /// </summary>
 /// <typeparam name="TReturn"></typeparam>
 /// <param name="visitor"></param>
 /// <returns></returns>
 public virtual TReturn Accept <TReturn>(IMonadVisitor <TValue, TReturn> visitor)
 {
     return(visitor.VisitError(ErrorMessage));
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Delegates the accept operation to the wrapped monad.
 /// </summary>
 public TReturn Accept <TReturn>(IMonadVisitor <TValue, TReturn> visitor)
 {
     return(InnerMonad.Accept(visitor));
 }
Ejemplo n.º 4
0
 /// <summary>
 /// </summary>
 /// <typeparam name="TReturn"></typeparam>
 /// <param name="visitor"></param>
 /// <returns></returns>
 public virtual TReturn Accept <TReturn>(IMonadVisitor <TValue, TReturn> visitor)
 {
     return(visitor.VisitUnauthorized());
 }
Ejemplo n.º 5
0
 /// <summary>
 /// Calls the "VisitValue" method on the visitor, passing the wrapped value as a parameter.
 /// </summary>
 /// <typeparam name="TReturn">Return type of the input visitor.</typeparam>
 /// <param name="visitor">Monad visitor to accept.</param>
 /// <returns>Result of the value visit.</returns>
 public virtual TReturn Accept <TReturn>(IMonadVisitor <TValue, TReturn> visitor)
 {
     return(visitor.VisitValue(Value));
 }