Boo.BooLangService.Document.BooDocumentVisitor.GetTopLevelNamespacesFromReferences C# (CSharp) Method

GetTopLevelNamespacesFromReferences() private method

private GetTopLevelNamespacesFromReferences ( ) : string[]
return string[]
        private string[] GetTopLevelNamespacesFromReferences()
        {
            var namespaces = new List<string>();

            foreach (Assembly reference in Context.References)
            {
                foreach (var type in reference.GetExportedTypes())
                {
                    if (type.Namespace == null) continue;

                    var ns = type.Namespace;

                    if (ns.Contains(".")) ns = ns.Substring(0, ns.IndexOf("."));

                    if (!namespaces.Contains(ns))
                        namespaces.Add(ns);
                }
            }

            return namespaces.ToArray();
        }