Как я могу перечислить все классы в моем текущем проекте (сборка?) с использованием отражения? спасибо.
Как получить все классы в текущем проекте, используя отражение?
Ответ 1
Учитывая экземпляр a
для System.Reflection.Assembly, вы можете получить все типы в сборке, используя:
var allTypes = a.GetTypes();
Это даст вам все типы, общедоступные, внутренние и частные.
Если вы хотите только публичные типы, вы можете использовать:
var publicTypes = a.GetExportedTypes();
Если вы используете этот код из самой сборки, вы можете получить сборку, используя
var a = Assembly.GetExecutingAssembly();
GetTypes и GetExportedTypes предоставят вам все типы (структуры, классы, перечисления, интерфейсы и т.д.), поэтому, если вам нужны только классы, вам придется фильтровать
var classes = a.GetExportedTypes().Where(t => t.IsClass);
Ответ 2
Посмотрите на метод Assembly.GetTypes.
Ответ 3
Да, вы используете метод Assembly.GetTypes.