У меня следующая проблема:
- Exe (родной C ++) реализует интерфейсы Ia и Ib.
- Dll1 (родной C ++) имеет класс шаблона
D<T>
, который реализует интерфейс Ic и вызывает в 3. Реализации Ia и Ib в Exe.
- Dll2 (нативный C ++) реализует класс E (класс E: public
D<E>
)
Во время выполнения происходит следующее: Exe загружает Dll2 (несколько экземпляров) и создает экземпляр E, предоставляя ему указатели на его указатели Ia и Ib. Exe "получает" Ic указатель от Dll2.
Теперь я должен разрешить реализацию Dll2 (s) в C #, чтобы Exe мог вызывать Ic Impl в Dll2. и Dll2 не может перезвонить Ia и Ib I-лиц Exe. Еще одно ограничение: мне не нужно перекомпилировать Exe и Dll1 каждый раз, когда появляется новая реализация Dll2.
Возможно ли реализовать что-то подобное?