private void CreateModules(ContainerBuilder builder, ICollection <Type> moduleTypes) { foreach (var moduleType in moduleTypes) { var moduleObject = Activator.CreateInstance(moduleType) as JwellModule; if (moduleObject == null) { throw new InvalidOperationException("This type is not a module: " + moduleType.AssemblyQualifiedName); } var moduleInfo = new JwellModuleInfo(moduleType) { Instance = moduleObject }; _moduleList.Add(moduleInfo); if (moduleType == _moduleList.StartupModuleType) { StartupModule = moduleInfo; } builder.RegisterInstance(moduleObject).AsSelf().SingleInstance(); } }
public override bool Equals(object obj) { if (obj == null) { return(false); } if (!(obj is JwellModuleInfo)) { return(false); } JwellModuleInfo other = (JwellModuleInfo)obj; return(Type == other.Type); }