Обновить

Комментарии 3

Мощно. Ещё в копилку альтернативных способов можно добавить использование IronPython, в котором как и в обычном питоне поддерживается создание динамических классов, в которых во время исполнения можно изменять состав полей, методов, а также их реализации. Но работает поверх DLR, так что использовать в целях повышения производительности не выйдет.

Простите за глупый вопрос, я не местный…

А если создавать типы и методы под кратковременные нужды, то ненужные уже типы и методы рантайм когда-нибудь соберёт? Или это будет утечкой?

Для того чтобы выгружать типы, или правильнее сказать - сборки, нужно их загружать через новый AssemblyLoadContext и в последнем есть метод Unload для выгрузки

Для этого нужно в AssemblyBuilder.DefineDynamicAssembly передать AssemblyLoadContext в который нужно загрузить сборку

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации