コード例 #1
0
ファイル: AssemblyProvider.cs プロジェクト: vfurdean/Bifrost
        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);
            }
        }
コード例 #2
0
 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);
     }
 }
コード例 #3
0
        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);
            }
        }