Ejemplo n.º 1
0
        public override bool ValueOrCast <TMatched>(out T value, out Matched <TMatched> matched)
        {
            value   = default;
            matched = noMatch <TMatched>();

            return(false);
        }
Ejemplo n.º 2
0
        public override bool ValueOrCast <TMatched>(out T value, out Matched <TMatched> matched)
        {
            value   = default;
            matched = failedMatch <TMatched>(exception);

            return(false);
        }
Ejemplo n.º 3
0
        public override bool ValueOrOriginal(out T value, out Matched <T> original)
        {
            value    = default;
            original = this;

            return(false);
        }
Ejemplo n.º 4
0
 public override Matched <TResult> Select <TResult>(Matched <T> result, Func <T, TResult> func)
 {
     return(failedMatch <TResult>(exception));
 }
Ejemplo n.º 5
0
 public override Matched <TResult> Select <TResult>(Matched <T> result, Func <T, TResult> func) => noMatch <TResult>();
Ejemplo n.º 6
0
 public override bool EqualToValueOf(Matched <T> otherMatched) => false;
Ejemplo n.º 7
0
 public override Matched <T> Or(Matched <T> other) => other;
Ejemplo n.º 8
0
 public override bool Else <TOther>(out Matched <TOther> result)
 {
     result = failedMatch <TOther>(exception);
     return(true);
 }
Ejemplo n.º 9
0
 void handle(Matched <T> match)
 {
     if (match.If(out var value, out var exception) && matched.If(out var action))
     {
         action(value);
     }
Ejemplo n.º 10
0
 public override bool Else <TOther>(out Matched <TOther> result)
 {
     result = noMatch <TOther>();
     return(true);
 }
Ejemplo n.º 11
0
 public abstract Matched <TResult> Select <TResult>(Matched <T> result, Func <T, TResult> func);
Ejemplo n.º 12
0
 public MatchingContext(Matched <T> matched) => this.matched = matched;
Ejemplo n.º 13
0
 public Matching(Matched <T> matched)
 {
     this.matched = matched;
     action       = MonadFunctions.none <Func <TResult> >();
 }
Ejemplo n.º 14
0
 public abstract bool EqualToValueOf(Matched <T> otherMatched);
Ejemplo n.º 15
0
 public abstract bool WasMatched(out Matched <T> matched);
Ejemplo n.º 16
0
 public abstract bool Else <TOther>(out Matched <TOther> result);
Ejemplo n.º 17
0
 public abstract bool ValueOrCast <TMatched>(out T value, out Matched <TMatched> matched);
Ejemplo n.º 18
0
 public abstract bool ValueOrOriginal(out T value, out Matched <T> original);
Ejemplo n.º 19
0
 public override bool WasMatched(out Matched <T> matched)
 {
     matched = this;
     return(false);
 }
Ejemplo n.º 20
0
 public abstract Matched <T> Or(Matched <T> other);