Есть ли способ получить объект из определенного пространства имен? Возможно, с System.Reflections
? Я хочу получить все объекты из типа ITestType
в пространстве имен Test.TestTypes
в качестве объектов, чтобы у меня был список экземпляров TestType1, TestType2, TestType3
и т.д. Кто-нибудь может мне помочь? Я не знаю, где искать это.
Вывод всех классов определенного пространства имен
Ответ 1
Вы можете найти все типы в сборке и найти все те типы, которые соответствуют данному пространству имен (это действительно легко с LINQ), но если у вас нет конкретной сборки для просмотра, вам нужно изучите все возможные варианты.
Однако, если вы ищете способ найти все живые объекты, это другое дело - и вы не можете сделать это, не используя API-интерфейс профилировщика, насколько мне известно. (Даже тогда это может быть сложно - я не знаю.)
Здесь запрос LINQ:
public static IEnumerable<Type> GetTypesFromNamespace(Assembly assembly,
String desiredNamespace)
{
return assembly.GetTypes()
.Where(type => type.Namespace == desiredNamespace);
}