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); }
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); }
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); }
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)); }
public static TOutput Value <TEnum, TOutput>(this IFluentSwitchBuilder <TEnum, TOutput> builder) { return(builder.IsComplete ? builder.CurrentValue : builder.DefaultValue); }
public static IFluentSwitchBuilder <TEnum, TOutput> Else <TEnum, TOutput>( this IFluentSwitchBuilder <TEnum, TOutput> builder, TOutput defaultValue) { return(builder.Else(() => defaultValue)); }
public static IFluentSwitchBuilder <TEnum, TOutput> Else <TEnum, TOutput>( this IFluentSwitchBuilder <TEnum> builder, TOutput defaultValue) { return(new FluentSwitchValueBuilder <TEnum, TOutput>(builder.InputValue).Else(defaultValue)); }
public static IFluentSwitchBuilder <TEnum, TOutput> When <TEnum, TOutput>( this IFluentSwitchBuilder <TEnum, TOutput> builder, TEnum value, TOutput outputValue) { return(builder.When(value, () => outputValue)); }