Найти последний дочерний класс из DLL с отражением - PullRequest
0 голосов
/ 10 января 2020

У меня есть WPF приложение, которое мне нужно обновить. В последней версии этого приложения использовался файл конфигурации XML, который содержит пути ко всем библиотекам DLL, которые нужны этому приложению. Теперь при обновлении одним из основных требований является избавление от файла конфигурации, и приложение WPF может динамически получать все необходимое DLLs (например, DLL-библиотека Datareader для заполнения treeview et c). Я разработал логи c для чтения библиотек DLL в текущей сборке (AppDomain.CurrentDomain.BaseDirectory), фильтрации и прочего. Но я столкнулся с другой проблемой. Допустим, у меня такая структура.

Interface IDataReader that all datareaders class implements.
DLL -> BaseDataReader.dll  
       BaseDataReader
DLL -> ChildDataReader.dll : BaseDataReader.dll 
       ChildDataReader1 : BaseDataReader
DLL -> ChildDataReader2.dll : ChildDataReader (base class inside ChildDataReader.dll).
       ChildDataReader2 : ChildDataReader1

У меня есть и другие устройства чтения данных, так что это одна из ситуаций. Я отфильтровал DLLs на основе интерфейса (IDataReader) и получил DLLs (из примера), но мне всегда нужен последний ребенок в этой цепочке.

Так что мои вопросы, возможно ли сделать такую ​​вещь в c#? Мне нужно, чтобы это работало в любой ситуации, например, если у меня есть только BaseDataReader.dll, я буду это и так далее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...