C # Перехват / изменение / перенаправление метода

Позволять'говорят, что у меня есть личное "пример," нестатический, метод bool в сторонних dll. Все, что делает этот метод - возвращает значение. Ничего больше. Как бы я перехватил вызовы этого метода, изменив его?s IL OpCodes / тело метода или перенаправление его на дополнительный, переопределенный или производный метод.

Я не хочу декомпилировать сторонние dll, вручную менять исходный код и перекомпилировать его. Я также предпочел бы не сохранять сборку на диск, так как это также предполагает использование "перекомпилированы» сборка вместо оригинала.

Я в основном хочу иметь возможность использовать оригинальную DLL - без замен или изменений файла. Я просто хочу сделать то, что я упомянул выше.

Есть ли способ пойти по этому поводу? Если да, можете ли вы разработать или опубликовать ссылки / учебники / и т.д.

Кроме того, я знаю о виртуальных, переопределенных и новых модификаторах, но помните, что я: не имею источника упомянутой сторонней библиотеки dll, не могу получить доступ к источнику, не хочу декомпилировать с чем-то таким, как dotPeek, и перекомпилировать.

Спасибо!

Изменить: я забыл упомянуть остальную часть инфраструктуры: MainProgram загружает ThirdPartyDLL. MainProgram также загружает MyPluginDLL. Я'я пытаюсь изменить метод в ThirdPartyDLL из MyPluginDLL, чтобы при вызове MainProgram указанного метода он вызывал измененный метод. Я хочу быть в состоянии сделать это БЕЗ сохранения новой сборки и перезапуска MainProgram с новой сборкой. По сути, я хочу сделать это либо при запуске или при запуске MainProgram.

Ответы на вопрос(1)

Ваш ответ на вопрос