void Populate() { var includedAssemblies = new List <AssemblyInfo>(); foreach (var provider in _assemblyProviders) { var availableAssemblies = provider.AvailableAssemblies; var bifrostAssemblies = availableAssemblies.Where(a => a.Name.StartsWith("Bifrost") && !includedAssemblies.Contains(a) ).ToArray(); includedAssemblies.AddRange(bifrostAssemblies); bifrostAssemblies.Select(provider.Get).ForEach(AddAssembly); var otherAssemblies = availableAssemblies.Where(a => !a.Name.StartsWith("Bifrost")); var filteredAssemblies = otherAssemblies.Where( a => _assemblyUtility.IsAssembly(a) && _assemblyFilters.ShouldInclude(a.Name) && !includedAssemblies.Contains(a) ).ToArray(); includedAssemblies.AddRange(filteredAssemblies); filteredAssemblies.Select(provider.Get).ForEach(AddAssembly); } }
void Populate() { foreach (var provider in _assemblyProviders) { var assembliesToInclude = provider.AvailableAssemblies.Where( a => _assemblyFilters.ShouldInclude(a.FileName) && _assemblyUtility.IsAssembly(a) ); assembliesToInclude.Select(provider.Get).ForEach(AddAssembly); } }
void Populate() { foreach (var provider in _assemblyProviders) { provider.Libraries.ForEach(library => { if (!_libraries.ContainsKey(library.Name)) { _libraries.Add(library.Name, library); } }); var assembliesToInclude = provider.Libraries.Where( library => _assemblyFilters.ShouldInclude(library) && _assemblyUtility.IsAssembly(library) ); var filtered = assembliesToInclude.ToArray(); assembliesToInclude.Select(provider.GetFrom).ForEach(AddAssembly); } }