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

            case QuestionNotPosted questionnotposted:
                return(await whenQuestionNotPosted(questionnotposted));

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

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

            case QuestionNotPosted questionnotposted:
                return(whenQuestionNotPosted(questionnotposted));

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

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