/// <summary> /// Creates <see langword="default"/> case /// </summary> /// <param name="expression"></param> /// <typeparam name="TR"></typeparam> /// <returns></returns> public SwitchBuilder <T, TR> Default <TR>(ExpressionContainer <TR> expression) { var switchBuilder = new SwitchBuilder <T, TR>(Value) { Cases = Cases, ComparerMethod = ComparerMethod, DefaultCase = DefaultCase }; return(switchBuilder.Default(expression)); }
/// <summary> /// Creates <see langword="default"/> case /// </summary> /// <param name="builder"></param> /// <typeparam name="TR"></typeparam> /// <returns></returns> public SwitchBuilder <T, TR> Default <TR>(Action <ExpressionContainer <T>, BlockBuilder> builder) { var switchBuilder = new SwitchBuilder <T, TR>(Value) { Cases = Cases, ComparerMethod = ComparerMethod, DefaultCase = DefaultCase }; return(switchBuilder.Default(builder)); }
/// <summary> /// Creates new <see langword="case"/> expression for values specified in <paramref name="testValues"/> /// </summary> /// <param name="builder"></param> /// <param name="testValues"></param> /// <typeparam name="TR"></typeparam> /// <returns></returns> public SwitchBuilder <T, TR> Case <TR>(Action <ExpressionContainer <T>, BlockBuilder> builder, params ExpressionContainer <T>[] testValues) { var switchBuilder = new SwitchBuilder <T, TR>(Value) { Cases = Cases, ComparerMethod = ComparerMethod, DefaultCase = DefaultCase }; return(switchBuilder.Case(builder, testValues)); }