Список классов в блоке

У меня есть блок DLL, в котором существуют различные классы. Каждый класс имеет приблизительно 50-100 участников и 4-5 функций. Как я могу создать список всех классов и их соответствующих участников, использующих программу VB.NET?

Я должен показать пользователю для выполнения операции с помощью конкретного класса.

5
задан Peter Mortensen 8 April 2014 в 07:48
поделиться

3 ответа

2
ответ дан 18 December 2019 в 09:54
поделиться

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

Это получит Вас всех не абстрактные классы:

Assembly thisAsm = Assembly.GetExecutingAssembly();
List<Type> types = thisAsm.GetTypes().Where(t => t.IsClass && !t.IsAbstract).ToList();

И это получит Вас всех классы, который реализует определенный интерфейс.

(Например, Если необходимо получить только классы, который реализует IYourInterface, затем),

Assembly thisAsm = Assembly.GetExecutingAssembly();
List<Type> types = thisAsm.GetTypes().Where
            (t => ((typeof(IYourInterface).IsAssignableFrom(t) 
                 && t.IsClass && !t.IsAbstract))).ToList();

После того как у Вас есть этот список объектов, можно показать членам каждого типа путем вызова GetProperties () и GetMethods () на каждом члене списка типов.

16
ответ дан 18 December 2019 в 09:54
поделиться

Много примеров находятся в сети. Вот одинC# хотя).

-2
ответ дан 18 December 2019 в 09:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: