Bottles.PackagingRuntimeGraph.FindAllPackages C# (CSharp) 메소드

FindAllPackages() 공개 메소드

public FindAllPackages ( ) : IEnumerable
리턴 IEnumerable
        public IEnumerable<IPackageInfo> FindAllPackages()
        {
            var result = new List<IPackageInfo>();

            _diagnostics.LogExecutionOnEach(_packageLoaders, (currentLoader, log) => {
                IPackageInfo[] packageInfos = currentLoader.Load(log).ToArray();
                _diagnostics.LogPackages(currentLoader, packageInfos);

                packageInfos.Each(pak => {
                    if (result.Any(x => x.Name == pak.Name))
                    {
                        _diagnostics.LogFor(pak)
                            .Trace("Bottle named {0} already found by a previous loader.  Ignoring.", pak.Name);
                    }
                    else
                    {
                        result.Add(pak);
                    }
                });
            });

            return result;
        }