Traverse aC# метод и аназлые тела метода

Какой самый простой способ пройти methodinfo в C#?

Я хочу обойти тело метода и найти ссылки на поля и тому подобное и получить типы.

В System.Reflection есть:

mi.GetMethodBody().GetILAsByteArray()

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

Я знаю, что Сесил существует, но есть проблема при загрузке сборки в памяти с помощью Сесила. Сборка, с которой я работаю, не всегда "на диске", это может быть сборка в памяти, скомпилированная, например. Бу, и я не буду чистым решением без записи временной сборки на диск.

Какие еще есть альтернативы для этого?

1 ответ

Решение

Эта вещь должна помочь: основанный на отражении читатель CIL. Он работает с байтовым массивом, полученным путем вызова GetILAsByteArray()

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