Можно ли получить тело метода (текст) действия?

У меня есть обстоятельство, когда я поставил в ряд ряд Action объекты и у меня есть пул потоков, работающих через каждый Action, Однако, если приложение закрывается до того, как очередь пуста, я хотел бы записать то, что осталось в очереди, перед закрытием.

Можно ли получить тело метода из Action объект? Я могу видеть MethodBody объект из Action.Method.GetMethodBody(), но я не вижу способа вывести это как строку.

Есть мысли или я сумасшедший?

РЕДАКТИРОВАТЬ: еще одна вещь; Я хотел бы также сохранить информацию о состоянии. То есть я хотел бы также сохранить значения любых переменных, используемых в Action,

2 ответа

Решение

Да, ты сумасшедший.

Выполняемый код был скомпилирован в IL, а затем JIT скомпилирован в машинный код. Текст акции давно ушел.

Вам не нужно быть в очереди действий. Вместо этого создайте структуру, которая содержит Action и имя метода, а также любую другую информацию, которую вы хотите зарегистрировать. Создайте очередь из них вместо Action.

Я полагаю, вы ищете не текстовое представление, а способ загрузки и сохранения деревьев выражений. Я тоже столкнулся с этой проблемой, и хотя я еще не использовал ее, это кажется многообещающим: сериализация дерева выражений.

Другие вопросы по тегам