static NamespaceManager()
{
try
{
var typeMapArray =
AppDomain.CurrentDomain.GetAssemblies()
.SelectMany(item => item.SafeGetTypes())
.Where(item => item.IsClass && item.IsPublic)
.GroupBy(item => GetKey(item.Namespace), (key,coll) =>
new {
Key = key,
Value = coll
.OrderBy(grItem => grItem.Name)
.OrderByDescending(grItem => grItem.Name.Length)
})
.ToArray();
typeMap = typeMapArray
.ToDictionary(item => item.Key, item => item.Value.ToArray());
}
catch
{
throw;
}
}