I just stumbled across this weird behaviour.
This will compile.
var stringOption = new Option<string?>(name: "--test", description: "Test Option",
getDefaultValue: () => null);
var cmd = new Command("testcommand", "This has 7 arguments");
cmd.SetHandler(async (a, b, c, d, e, f, g, h) => {},
stringOption, stringOption, stringOption, stringOption, stringOption,
stringOption, stringOption, stringOption);
while this won't.
var stringOption = new Option<string?>(name: "--test", description: "Test Option",
getDefaultValue: () => null);
var cmd = new Command("testcommand", "Tests more than 7 arguments, this example has 8");
cmd.SetHandler(async (a, b, c, d, e, f, g, h, i) => {},
stringOption, stringOption, stringOption, stringOption, stringOption,
stringOption, stringOption, stringOption, stringOption);
All I did change here was add one more parameter. According to the docs, there should be overloads for up to 16 parameters.
Any ideas what is going on?
Edit
Looking into the Handler.Func.cs source file (partial class), there are actually only implementations up to 8 generic parameters. Unfortunately, the AnonymousCommandHandler class used in the methods is internal, so it cannot easily be extended.
I just stumbled across this weird behaviour.
This will compile.
while this won't.
All I did change here was add one more parameter. According to the docs, there should be overloads for up to 16 parameters.
Any ideas what is going on?
Edit
Looking into the
Handler.Func.cssource file (partial class), there are actually only implementations up to 8 generic parameters. Unfortunately, theAnonymousCommandHandlerclass used in the methods is internal, so it cannot easily be extended.