2008-12-05 4 views
10

Есть ли способ получить объект из определенного пространства имен? Возможно, с System.Reflections? Я хочу получить все объекты из типа ITestType в пространстве имен Test.TestTypes как Объекты, так что у меня есть список экземпляров TestType1, TestType2, TestType3 и так далее. Кто-нибудь может мне помочь? Я не знаю, где искать это.Вывод всех классов определенного пространства имен

ответ

19

В сборке вы можете найти все типов и найти все те типы, которые соответствуют данному пространству имен (это очень легко с LINQ), но если у вас нет конкретной сборки для просмотра, вам необходимо изучить все возможных.

Однако, если вы ищете способ найти все объекты , это другое дело - и вы не можете это сделать, не используя API-интерфейс профилировщика, насколько мне известно. (Даже тогда это может быть трудно - я не знаю.)

Вот запрос LINQ, хотя:

public static IEnumerable<Type> GetTypesFromNamespace(Assembly assembly, 
               String desiredNamespace) 
{ 
    return assembly.GetTypes() 
        .Where(type => type.Namespace == desiredNamespace); 
} 
Смежные вопросы