Внедрить byte[], экспортированный из MethodInfo.GetMethodBody()

Мне было интересно, возможно ли вставить код byte[], который ранее был экспортирован из метода через GetMethodBody(), обратно, что означает, что он снова может быть исполняемым кодом. Если бы кто-то мог написать довольно простой пример или объяснение, я был бы признателен.

С уважением,


person deadmau5    schedule 11.03.2012    source источник
comment
Почему вы хотите это сделать?   -  person svick    schedule 11.03.2012
comment
возможный дубликат динамического создания метода и его выполнения   -  person svick    schedule 11.03.2012
comment
Я знаю, как динамически создавать новый метод. Что я хочу сделать, так это извлеченный и сохраненный метод в байте [] превратить в исполняемый код и выполнить его.   -  person deadmau5    schedule 18.03.2012
comment
Вы читали ответы на этот вопрос?   -  person svick    schedule 18.03.2012
comment
Извините, я думал, что они говорили о чем-то другом, когда я прочитал заголовок вопроса. Свик еще раз спасибо!   -  person deadmau5    schedule 31.03.2012


Ответы (2)


Действительно можете. Вы можете выполнить код IL, используя DynamicMethod.GetILGenerator(). По ссылке есть пример.

person Ian Qvist    schedule 11.03.2012
comment
Но это не позволяет вам выполнять код, который у вас есть как byte[]. - person svick; 11.03.2012

person    schedule
comment
nvm действительно является дубликатом stackoverflow.com /вопросы/7671220/ - person M.Stramm; 28.06.2012