Пример #1
0
        public static IFluentSwitchBuilder <TEnum, TOutput> When <TEnum, TOutput>(
            this IFluentSwitchBuilder <TEnum> builder, TEnum value, Func <TOutput> func)
        {
            var newBuilder = new FluentSwitchValueBuilder <TEnum, TOutput>(builder.InputValue);

            newBuilder.Run(value, func);

            return(newBuilder);
        }
Пример #2
0
        public static IFluentSwitchBuilder <TEnum, TOutput> When <TEnum, TOutput>(
            this IFluentSwitchBuilder <TEnum, TOutput> builder, TEnum value, Func <TOutput> func)
        {
            if (!builder.IsComplete)
            {
                builder.Run(value, func);
            }

            return(builder);
        }
Пример #3
0
 public static IFluentSwitchBuilder <TEnum, TOutput> Else <TEnum, TOutput>(
     this IFluentSwitchBuilder <TEnum, TOutput> builder, Func <TOutput> defaultValueFunc)
 {
     return(!builder.IsComplete ? new FluentSwitchValueBuilder <TEnum, TOutput>(builder.InputValue, defaultValueFunc()) : builder);
 }
Пример #4
0
 public static IFluentSwitchBuilder <TEnum, TOutput> When <TEnum, TOutput>(
     this IFluentSwitchBuilder <TEnum> builder, TEnum value, TOutput outputValue)
 {
     return(new FluentSwitchValueBuilder <TEnum, TOutput>(builder.InputValue).When(value, outputValue));
 }
Пример #5
0
 public static TOutput Value <TEnum, TOutput>(this IFluentSwitchBuilder <TEnum, TOutput> builder)
 {
     return(builder.IsComplete ? builder.CurrentValue : builder.DefaultValue);
 }
Пример #6
0
 public static IFluentSwitchBuilder <TEnum, TOutput> Else <TEnum, TOutput>(
     this IFluentSwitchBuilder <TEnum, TOutput> builder, TOutput defaultValue)
 {
     return(builder.Else(() => defaultValue));
 }
Пример #7
0
 public static IFluentSwitchBuilder <TEnum, TOutput> Else <TEnum, TOutput>(
     this IFluentSwitchBuilder <TEnum> builder, TOutput defaultValue)
 {
     return(new FluentSwitchValueBuilder <TEnum, TOutput>(builder.InputValue).Else(defaultValue));
 }
Пример #8
0
 public static IFluentSwitchBuilder <TEnum, TOutput> When <TEnum, TOutput>(
     this IFluentSwitchBuilder <TEnum, TOutput> builder, TEnum value, TOutput outputValue)
 {
     return(builder.When(value, () => outputValue));
 }