public CompositionMapper(IModuleLoader loader) { if(!loader.ModulesLoaded) loader.InitializeModules(); Modules = new List<IModule>(); CompositionMaps = new Dictionary<string, CompositionMap>(); foreach (var module in loader.Modules) { Modules.Add(module); foreach (ModuleMapAttribute mapping in module.GetType().GetCustomAttributes(typeof(ModuleMapAttribute), false)) { CompositionMaps.Add(mapping.Key, new CompositionMap(mapping.Key, mapping.Type)); } } }