Можно ли получить тело метода (текст) действия?
У меня есть обстоятельство, когда я поставил в ряд ряд Action
объекты и у меня есть пул потоков, работающих через каждый Action
, Однако, если приложение закрывается до того, как очередь пуста, я хотел бы записать то, что осталось в очереди, перед закрытием.
Можно ли получить тело метода из Action
объект? Я могу видеть MethodBody
объект из Action.Method.GetMethodBody()
, но я не вижу способа вывести это как строку.
Есть мысли или я сумасшедший?
РЕДАКТИРОВАТЬ: еще одна вещь; Я хотел бы также сохранить информацию о состоянии. То есть я хотел бы также сохранить значения любых переменных, используемых в Action
,
2 ответа
Да, ты сумасшедший.
Выполняемый код был скомпилирован в IL, а затем JIT скомпилирован в машинный код. Текст акции давно ушел.
Вам не нужно быть в очереди действий. Вместо этого создайте структуру, которая содержит Action и имя метода, а также любую другую информацию, которую вы хотите зарегистрировать. Создайте очередь из них вместо Action.
Я полагаю, вы ищете не текстовое представление, а способ загрузки и сохранения деревьев выражений. Я тоже столкнулся с этой проблемой, и хотя я еще не использовал ее, это кажется многообещающим: сериализация дерева выражений.