Как я могу получить все классы в пространстве имен в C#?Как я могу получить все классы в пространстве имен?
ответ
Вам нужно будет сделать это «назад»; перечислить все типы в сборке, а затем проверка пространства имен каждого типа:
using System.Reflection;
private Type[] GetTypesInNamespace(Assembly assembly, string nameSpace)
{
return
assembly.GetTypes()
.Where(t => String.Equals(t.Namespace, nameSpace, StringComparison.Ordinal))
.ToArray();
}
Пример использования:
Type[] typelist = GetTypesInNamespace(Assembly.GetExecutingAssembly(), "MyNamespace");
for (int i = 0; i < typelist.Length; i++)
{
Console.WriteLine(typelist[i].Name);
}
Для чего-либо до .Net 2.0, где Assembly.GetExecutingAssembly()
не доступен, вы потребуется небольшое обходное решение для получения сборки:
Assembly myAssembly = typeof(<Namespace>.<someClass>).GetTypeInfo().Assembly;
Type[] typelist = GetTypesInNamespace(myAssembly, "<Namespace>");
for (int i = 0; i < typelist.Length; i++)
{
Console.WriteLine(typelist[i].Name);
}
. Где (t => String.Equals (t.Namespace, nameSpace, StringComparison.Ordinal) – abatishchev
Кроме того, храните в помните, что Assembly! = namespace - некоторые пространства имен распределены по нескольким сборкам. – Bevan
и почему бы не вернуть только IEnumerable
С рефлексией вы проходите через все типы сборки. Тип имеет свойство пространств имен, которые вы используете для фильтрации только пространство имен вас интересует.
Вы должны будете предоставить немного больше информации ...
ли вы имеете в виду с помощью отражения. Вы можете перемещаться через сборки манифеста и получить список типов с использованием
System.Reflection.Assembly myAssembly = Assembly.LoadFile("");
myAssembly.ManifestModule.FindTypes()
Если это только в Visual Studio, вы можете просто получить список в окне IntelliSense, или открыв обозреватель объектов (CTRL + W , J)
- 1. использовать все классы в пространстве имен
- 2. Как я могу получить все классы в пространстве имен в android?
- 3. Как я могу получить все определенные классы?
- 4. Группирование в пространстве имен и префиксах Классы
- 5. Почему использовать классы в пространстве имен
- 6. Как получить все классы в пространстве имен с помощью Reflection в WP8.1 App?
- 7. Как получить все имена классов в пространстве имен в Ruby?
- 8. Получить все классы внутри пространства имен
- 9. Машинопись: экспортировать все функции в пространстве имен
- 10. В PHP есть способ получить все объявленные классы в определенном пространстве имен?
- 11. Aerospike: считать все объекты в пространстве имен?
- 12. Найти все теги в данном пространстве имен
- 13. Как я могу обернуть BOOST в отдельном пространстве имен?
- 14. Как я могу получить все диапазоны имен в моей таблице
- 15. Как я могу разделить классы JavaScript на несколько файлов и все же иметь их в одном пространстве имен?
- 16. Где я могу просмотреть исходный код в пространстве имен System.IdentityModel.Services?
- 17. Как я могу получить все унаследованные классы базового класса?
- 18. Прочитать классы в пространстве имен в шаблоне t4
- 19. Включить все файлы в пространстве имен
- 20. Авторизовать все контроллеры в данном пространстве имен?
- 21. Можно ли скрыть классы в глобальном пространстве имен в C#?
- 22. Как я могу получить все доступные названия имен программно
- 23. Способность к ссылочным функциям Но, не классы в пространстве имен
- 24. Пространства имен в глобальном пространстве имен C#
- 25. Как загрузить все классы пространства имен?
- 26. Числа в пространстве имен
- 27. Дружественные классы, определенные в пространстве имен std: любые гарантии?
- 28. Как я могу получить доступ к модели в другом пространстве имен в Zend2?
- 29. Где динамически создавать классы? В пространстве объектов или глобальных имен?
- 30. Как я могу сделать автопространение имен в пространстве имен PHPStorm в используемых операторах?
Возможный дубликат [Вывод всех классов определенного имени space] (http://stackoverflow.com/questions/343869/taking-out-all-classes-of-a-specific-namespace) – nawfal
Возможный дубликат [Получение всех типов в пространстве имен через отражение] (https: // stackoverflow.com/questions/79693/getting-all-types-in-a-namespace-via-reflection) – Liam