Подмена отдельного класса \ методав чужой не обфусцированной сборке
Есть набор библиотек (движок свеженькой игры Might & Magic X, написанный на C#).
Хочется внести изменения в отдельнные классы, методы этих библиотек (модостроительство).
Вопрос - как это лучше всего реализовать? Сейчас набирает популярность dependency injection (кем бы они ни были). Может ли эта штука помочь?
Интересует простой (ака надежный) способ, не затрагивающий вообще или минимально затрагивающий оригинальные dll.
Заранее спасибо всем за хорошие советы! :)
Тоесть выглядеть это будет примерно так:
Создаем новую библиотеку, добавляем в референсы старую.
Создаем новую версию интересующего типа. Измененные методы \ свойства помечаем аттрибутом.
При помощи Mono.Cecil загружаем обе библиотеки.
В новой перебираем типы.
Находим в них помеченные аттрибутом элементы.
Ищем их аналоги в оригинальной библиотеке. Заменяем на новую реализацию. Сохраняем измененную сборку.
Я верно понял концепцию?