private static string DetermineShortestNamespace(
IEnumerable<CodeTypeDeclaration> typeDeclarations, out IEnumerable<string> distinctNamespaces)
{
var typeNamespace = new List<string>();
foreach (CodeTypeDeclaration typedecl in typeDeclarations)
{
var typeName = typedecl.Name;
var indexcodeNs = typeName.LastIndexOf('.');
if (indexcodeNs > 0)
{
var codeNs = typeName.Substring(0, indexcodeNs);
typeNamespace.Add(codeNs);
}
}
var typeNamespaceDistinct = typeNamespace.Distinct();
distinctNamespaces = typeNamespaceDistinct;
var shortestNamespace = typeNamespaceDistinct.Min();
return shortestNamespace;
}