У меня есть сборка .NET, которая определила тип T
во время компиляции, и я создал экземпляр объекта my_t
в качестве экземпляра этого типа.Замена типа .NET во время выполнения
Мне интересно, можно ли в .NET использовать службы компилятора времени выполнения для повторной компиляции этого класса, а затем загрузить новое определение класса в текущую исполняемую сборку, поэтому, когда я вызываю методы с my_t
, они будут используйте новый код.
Я не меняю подписи ни одного из методов, только тела метода.
Любые гуру из .NET знают, возможно ли это? Заранее благодарю за любую помощь!
Я бы никогда не сделал что-то подобное. Почему бы не использовать наследование? – ChaosPandion
Да, какой прецедент? Почему бы не использовать архитектуру плагина? Скомпилируйте свой динамический плагин и загрузите его, очевидно, проходя свой плагин. –
Я согласен с предыдущим оратором. таким образом, когда я вызываю метод в классе, я не могу точно знать, что он будет делать * даже если у меня есть доступ к коду *. звучит хаотично, и это то, что ОО - все о предотвращении. то, что вы хотите, возможно, может быть достигнуто с помощью шаблона инъекции зависимостей. –