2012-03-11 3 views
4

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

С уважением,

+0

Зачем вам это нужно? – svick

+2

Возможный дубликат [Создание метода динамически и его выполнение] (http://stackoverflow.com/questions/7671220/creating-method-dynamically-and-executing-it) – svick

+0

Я знаю, как динамически создавать новый метод. Что я хочу сделать, это извлечь и сфотографировать метод в байте [] включить исполняемый код и выполнить его. – deadmau5

ответ

-1

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

+0

Но это не позволяет вам выполнять код, который у вас есть как 'byte []'. – svick

0
byte[] il = ...; 
MethodBuilder mb = ...; 
mb.CreateMethodBody(il, il.Length); 
+0

nvm, действительно является дубликатом http://stackoverflow.com/questions/7671220/creating-method-dynamically-and-executing-it –

 Смежные вопросы

  • Нет связанных вопросов^_^