Exemple #1
0
        public IHandlerSetup UseHandlerTypes(IEnumerable <Type> commandTypes, TypeInstanceResolver resolver = null, ITypeVerbExtractor verbExtractor = null)
        {
            Assert.ArgumentNotNull(commandTypes, nameof(commandTypes));
            var source = new TypeListConstructSource(commandTypes, resolver ?? _defaultResolver, verbExtractor);

            return(AddSource(source));
        }
Exemple #2
0
 public HandlerSetup(TypeInstanceResolver defaultResolver = null)
 {
     _defaultResolver = defaultResolver;
     _sources         = new List <IHandlerSource>();
     _delegates       = new DelegateHandlerSource();
     _scripts         = new ScriptHandlerSource();
     _instances       = new NamedInstanceHandlerSource();
     _aliases         = new AliasMap();
 }
Exemple #3
0
 public TypeListConstructSource(IEnumerable <Type> commandTypes, TypeInstanceResolver resolver, ITypeVerbExtractor verbExtractor)
 {
     _resolver = resolver ?? DefaultResolver;
     verbExtractor ??= TypeVerbExtractor.DefaultInstance;
     _commands = commandTypes
                 .OrEmptyIfNull()
                 .SelectMany(commandType =>
                             verbExtractor.GetVerbs(commandType)
                             .Select(verb => (verb, commandType))
                             )
                 .ToDictionaryUnique();
 }