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();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д