private DinazorBootstrapper([Annotations.NotNullAttribute] Type startupModule, [Annotations.NotNullAttribute] IIocManager iocManager)
        {
            Check.NotNull(startupModule, nameof(startupModule));
            Check.NotNull(iocManager, nameof(iocManager));

            if (!typeof(DinazorModule).IsAssignableFrom(startupModule))
            {
                throw new ArgumentException($"{nameof(startupModule)} should be derived from {nameof(DinazorModule)}.");
            }

            StartupModule = startupModule;
            IocManager    = iocManager;

            PluginSources = new PluginSourceList();
            _logger       = NullLogger.Instance;
        }
 public static void AddTypeList(this PluginSourceList list, params Type[] moduleTypes)
 {
     list.Add(new PluginTypeListSource(moduleTypes));
 }
 public static void AddFolder(this PluginSourceList list, string folder, SearchOption searchOption = SearchOption.TopDirectoryOnly)
 {
     list.Add(new FolderPluginSource(folder, searchOption));
 }