/// <summary> /// Adds an option to the configuration. /// </summary> /// <param name="template">Template that identifies the option.</param> /// <param name="configureAction">Configuration action.</param> /// <typeparam name="TValue">Value type.</typeparam> /// <returns>Configuration.</returns> public CommandConfiguration <TOptions> Option <TValue>(string template, Action <MultiValueArgumentConfiguration <TOptions, TValue> > configureAction) { return(ConfigureArgument <TValue>(template, builder => MultiValueArgumentConfiguration <TOptions, TValue> .Configure(builder, configureAction) .Option(Template.ForOptionOrSwitch(template)))); }
/// <summary> /// Adds a position argument to the configuration. /// </summary> /// <param name="configureAction">Configuration action.</param> /// <typeparam name="TValue">Value type.</typeparam> /// <returns>Configuration.</returns> public CommandConfiguration <TOptions> PositionArgument <TValue>( Action <MultiValueArgumentConfiguration <TOptions, TValue> > configureAction) { var index = ParserConfig.GetNextArgumentIdentity(); return(ConfigureArgument <TValue>(Common.FormatArgumentContext(index), builder => MultiValueArgumentConfiguration <TOptions, TValue> .Configure(builder, configureAction) .PositionArgument(index))); }