/// <summary> /// Use the public methods of an instance object as handlers /// </summary> /// <param name="handlers"></param> /// <param name="instance"></param> /// <returns></returns> public static IHandlerSetup UsePublicMethodsAsHandlers(this IHandlerSetup handlers, object instance, Func <string, string> getDescription = null, Func <string, string> getUsage = null, Func <string, string> getGroup = null) { Assert.ArgumentNotNull(handlers, nameof(handlers)); var source = new InstanceMethodHandlerSource(instance, getDescription, getUsage, getGroup); return(handlers.AddSource(source)); }
public EngineBuilder(IHandlerSetup handlers = null, IOutputSetup output = null, IEnvironmentSetup environments = null, IParserSetup parsers = null, EngineEventCatalog events = null, EngineSettings settings = null) { _handlers = handlers ?? new HandlerSetup(); _eventCatalog = events ?? new EngineEventCatalog(); _output = output ?? new OutputSetup(); _environments = environments ?? new EnvironmentSetup(); _parsers = parsers ?? new ParserSetup(); _settings = settings ?? new EngineSettings(); }
/// <summary> /// Tell the HandlerSetup to use Ninject to scan for and resolve handler types in your solution. /// </summary> /// <param name="handlers"></param> /// <param name="kernel"></param> /// <param name="verbExtractor"></param> /// <returns></returns> public static IHandlerSetup UseNinjectHandlerSource(this IHandlerSetup handlers, IKernel kernel, ITypeVerbExtractor verbExtractor = null) { Assert.ArgumentNotNull(handlers, nameof(handlers)); Assert.ArgumentNotNull(kernel, nameof(kernel)); var source = new NinjectHandlerSource(kernel, verbExtractor); return(handlers.AddSource(source)); }
/// <summary> /// Use the specified list of handler types, with the default instance resolver and /// default verb extractor /// </summary> /// <param name="handlers"></param> /// <param name="commandTypes"></param> /// <returns></returns> public static IHandlerSetup UseHandlerTypes(this IHandlerSetup handlers, params Type[] commandTypes) { Assert.ArgumentNotNull(handlers, nameof(handlers)); Assert.ArgumentNotNull(commandTypes, nameof(commandTypes)); return(handlers.UseHandlerTypes(commandTypes)); }