private void RegisterNonGenericCommandInternal <TCommand>(CommandLineCommand <TOption, object> command) where TCommand : Command { var cmdConfigurator = ActivatorUtilities.GetServiceOrCreateInstance <TCommand>(Services); cmdConfigurator.OnConfigure(command); command.OnExecuting(cmdConfigurator.OnExecute); command.OnExecutingAsync(cmdConfigurator.OnExecuteAsync); }
private void RegisterGenericCommandInternal <TCommand>(CommandLineCommand <TOption, object> command) where TCommand : Command { var cmdConfigurator = (Command <TOption>)(Command)(ActivatorUtilities.GetServiceOrCreateInstance <TCommand>(Services)); cmdConfigurator.OnConfigure(command); command.OnExecuting((Action <TOption>)cmdConfigurator.OnExecute); command.OnExecutingAsync((Func <TOption, CancellationToken, Task>)cmdConfigurator.OnExecuteAsync); }
/// <summary> /// Registers a command type /// </summary> /// <typeparam name="TCommand">Command type, must be inherit <see cref="Command{TOptions}"/></typeparam> public void RegisterCommand <TCommand>() where TCommand : Command <TOption> { var cmdConfigurator = ContainerResolver.Resolve <TCommand>(); var command = new CommandLineCommand <TOption, object>(ParserOptions, ArgumentResolverFactory, ContainerResolver, m_option); cmdConfigurator.OnConfigure(command); command.OnExecuting((Action <TOption>)cmdConfigurator.OnExecute); m_commands.Add(command); }
/// <summary> /// Registers a command type /// </summary> /// <typeparam name="TCommand">Command type, must be inherit <see cref="Command{TOptions,TCommandOption}"/></typeparam> /// <typeparam name="TCommandOption">The command options</typeparam> public void RegisterCommand <TCommand, TCommandOption>() where TCommand : Command <TOption, TCommandOption> where TCommandOption : class, new() { var cmdConfigurator = ContainerResolver.Resolve <TCommand>(); var command = new CommandLineCommand <TOption, TCommandOption>(ParserOptions, ArgumentResolverFactory, ContainerResolver, m_option); cmdConfigurator.OnConfigure((ICommandConfigurationBuilder <TCommandOption>)command); command.OnExecuting((Action <TOption, TCommandOption>)cmdConfigurator.OnExecute); m_commands.Add(command); }