/// <summary> /// Uses all possible values when constructing options /// with help of provided <paramref name="converterToString"/> /// </summary> /// <typeparam name="TEnum"></typeparam> /// <param name="optionsBuilder"></param> /// <param name="converterToString"></param> /// <returns></returns> public OptionsBuilder UseAllPossibleValuesOf <TEnum>(IConverterToString <TEnum> converterToString) { foreach (TEnum value in Enum.GetValues(typeof(TEnum))) { this.UsePair(Convert.ToInt32(value), converterToString.GetStringFrom(value)); } return(this); }
public Option <T> ToOption(IConverterToString <Option <T> > converterToString) { return(new Option <T>(converterToString)); }
/// <summary> /// Uses converter for all created options /// <para /> /// technically by passing it to constructor in <see cref="CreateOptions"/> /// </summary> /// <param name="converter"></param> /// <returns></returns> public OptionsBuilder <TKey> UseCustomConverter(IConverterToString <Option <TKey> > converter) { this.customConverter = converter; return(this); }
/// <summary> /// Creates new option using passed implementation of <see cref="IConverterToString{T}"/> /// that will be used in <see cref="ToString"/> /// </summary> /// <param name="converterToString"></param> public Option(IConverterToString <Option <TKey> > converterToString) { this.ConverterToString = converterToString; }