private static string GetFullNamespace(INamespaceSymbol namespaceSymbol) { string fullNamespace = namespaceSymbol.Name; if (!string.IsNullOrEmpty(fullNamespace)) { string parentNamespace = CodeAnalysisHelper.GetFullNamespace(namespaceSymbol.ContainingNamespace); if (!string.IsNullOrEmpty(parentNamespace)) { fullNamespace = parentNamespace + Type.Delimiter + fullNamespace; } } return(fullNamespace); }
private static INamespaceSymbol GetNamespace(string nspace, INamespaceSymbol namespaceSymbol) { namespaceSymbol = namespaceSymbol.GetNamespaceMembers() .FirstOrDefault(ns => { string fullNamespace = CodeAnalysisHelper.GetFullNamespace(ns); return(nspace == fullNamespace || nspace.StartsWith(fullNamespace + Type.Delimiter)); }); if (namespaceSymbol != null && CodeAnalysisHelper.GetFullNamespace(namespaceSymbol) != nspace) { namespaceSymbol = CodeAnalysisHelper.GetNamespace(nspace, namespaceSymbol); } return(namespaceSymbol); }