Boo.Lang.Compiler.Steps.ResolveImports.TryToLoadAssemblyContainingNamespace C# (CSharp) Метод

TryToLoadAssemblyContainingNamespace() приватный Метод

private TryToLoadAssemblyContainingNamespace ( string @namespace ) : ICompileUnit
@namespace string
Результат ICompileUnit
        private ICompileUnit TryToLoadAssemblyContainingNamespace(string @namespace)
        {
            ICompileUnit asm = Parameters.LoadAssembly(@namespace, false);
            if (asm != null)
                return asm;

            //try to load assemblies name after the parent namespaces
            var namespaces = @namespace.Split('.');
            if (namespaces.Length == 1)
                return null;

            for (var level = namespaces.Length - 1; level > 0; level--)
            {
                var parentNamespace = string.Join(".", namespaces, 0, level);
                var existingReference = Parameters.FindAssembly(parentNamespace);
                if (existingReference != null)
                    return null;
                var parentNamespaceAssembly = Parameters.LoadAssembly(parentNamespace, false);
                if (parentNamespaceAssembly != null)
                    return parentNamespaceAssembly;
            }
            return null;
        }