public static Option ForwardAsMany <T>(this ForwardedOption <T> option, Func <T, IEnumerable <string> > format) => option.SetForwardingFunction(format);
public static ForwardedOption <string[]> ForwardAsProperty(this ForwardedOption <string[]> option) => option .SetForwardingFunction((optionVals) => optionVals.SelectMany(optionVal => new string[] { $"{option.Aliases.FirstOrDefault()}:{optionVal.Replace("roperty:", string.Empty)}" }));
public static ForwardedOption <T> ForwardAs <T>(this ForwardedOption <T> option, string value) => option.SetForwardingFunction((o) => new string[] { value });
public static ForwardedOption <T> ForwardAsSingle <T>(this ForwardedOption <T> option, Func <T, string> format) => option.SetForwardingFunction(format);
public static ForwardedOption <T> Forward <T>(this ForwardedOption <T> option) => option.SetForwardingFunction((o) => new string[] { option.Name });