private void FillModules(IServiceCollection services, Type appEntryModule, List <AppModuleDescriptor> appModuleDescriptors) { foreach (var moduleType in AppModuleHelper.FindAllModuleTypes(appEntryModule)) { var moduleDescriptor = CreateModuleDescriptor(services, moduleType); appModuleDescriptors.Add(moduleDescriptor); } }
private void SetDependencies(AppModuleDescriptor appModuleDescriptor, List <AppModuleDescriptor> appModuleDescriptors) { var moduleType = appModuleDescriptor.ModuleType; foreach (var dependedModuleType in AppModuleHelper.FindDependedModuleTypes(moduleType)) { var depended = appModuleDescriptors.FirstOrDefault(c => c.ModuleType == dependedModuleType); if (depended == null) { throw new FraException($"Could not found a depended module {dependedModuleType.AssemblyQualifiedName} "); } appModuleDescriptor.AddDepoendency(depended); } }