Beispiel #1
0
        public static async System.Threading.Tasks.Task <R> MatchAsync <R>(this IAddQuestionResult self, System.Func <QuestionPosted, System.Threading.Tasks.Task <R> > whenQuestionPosted, System.Func <QuestionRejected, System.Threading.Tasks.Task <R> > whenQuestionRejected, System.Func <QuestionValidationFailed, System.Threading.Tasks.Task <R> > whenQuestionValidationFailed)
        {
            switch ((self))
            {
            case QuestionPosted questionposted:
                return(await whenQuestionPosted(questionposted));

            case QuestionRejected questionrejected:
                return(await whenQuestionRejected(questionrejected));

            case QuestionValidationFailed questionvalidationfailed:
                return(await whenQuestionValidationFailed(questionvalidationfailed));

            default:
                throw new System.NotSupportedException("This switch statement should be exhaustive");
            }
        }
Beispiel #2
0
        public static IAddQuestionResult Match(this IAddQuestionResult self, System.Func <QuestionPosted, IAddQuestionResult> whenQuestionPosted, System.Func <QuestionRejected, IAddQuestionResult> whenQuestionRejected, System.Func <QuestionValidationFailed, IAddQuestionResult> whenQuestionValidationFailed)
        {
            switch ((self))
            {
            case QuestionPosted questionposted:
                return(whenQuestionPosted(questionposted));

            case QuestionRejected questionrejected:
                return(whenQuestionRejected(questionrejected));

            case QuestionValidationFailed questionvalidationfailed:
                return(whenQuestionValidationFailed(questionvalidationfailed));

            default:
                throw new System.NotSupportedException("This switch statement should be exhaustive");
            }
        }