CreateInstance() не приводит к интерфейсу - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, пишу приложение... В общем ситуация: 1) Существует три проекта: - Интерфейс IPlugin - Класс, его реализующий Plugin - Класс PluginLoader(динамически загружает библиотеку с реализацией интерфейса); 2) IPlugin находится в зависимостях у Plugin и PluginLoader 3) Проблема: При доставании обьекта Plugin с помощью CreateInstance() я хочу его прикастовать к интерфейсу IPlugin а он не может, говорит Не удалось привести тип объекта "Plugin" к типу "IPlugin".
     Assembly assem = Assembly.LoadFrom(fileOn);
     Type[] retTypes = assem.GetExportedTypes();
     IPlugin myIPlugin = (IPlugin) Activator.CreateInstance(retTypes[0]);

Решение задачи: «CreateInstance() не приводит к интерфейсу»

textual
Листинг программы
Type[] retTypes = assem.GetTypes().Where(t => t.GetInterfaces().Contains(typeof(IPlugin))).ToArray();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.267 из 5