Показать сообщение отдельно
  #1  
Старый 18.01.2014, 14:45
eugene1700 eugene1700 вне форума
Прохожий
 
Регистрация: 18.01.2014
Сообщения: 1
Версия Delphi: RAD Studio XE5
Репутация: 10
Подмигивание Получить список имен классов, реализующий интерфейс

Добрый день! Нужна помощь. Задача состоит в следующем:
Есть интерфейс (IMenuCommand) и есть dll, которая содержит классы реализующие этот интерфейс(ну либо без dll просто реализация этого интерфейса в каком-нибудь модуле), без создания экземпляров и тд.
В исходных данных есть только интерфейс и эта dll(либо модуль, но с библиотекой поинтереснее). Нам необходимо получить все классы из этой библиотеке, реализующие данный интерфейс и создать на каждый экземпляр.

В C# выглядело бы примерно так:

Код:
var types = GetType().Assembly.GetTypes().Where(t => typeof(IMenuCommand).IsAssignableFrom(t) && !t.IsAbstract).ToList();

foreach (var item in types)
            {
                var cmd = Activator.CreateInstance(item);
}
Вторая часть задачи легко реализуется через Rtti, а вот с первой, что не получилось не смог найти аналог сборки Assembly.

Заранее спасибо

MAD: пользуемся тегами, или бан.
Ответить с цитированием