Как узнать из инструкции CIL, читается ли поле или записывается в него? - PullRequest
0 голосов
/ 24 декабря 2009

В настоящее время я использую Mono Cecil для извлечения данных из проектов C #. Теперь мне нужно проверить, читается или записывается поле в каждом методе.

Как можно узнать из инструкции CIL , что поле читается или записывается?

Поскольку я сомневаюсь, что в Mono Cecil есть библиотека, похожая на Назначение в JDT Eclipse, которая позволяет мне извлечь левую и правую стороны. Если есть, то я могу просто работать оттуда.

1 Ответ

2 голосов
/ 24 декабря 2009

Инструкция для прямых полевых хранилищ - stfld, так что вам придется позаботиться об этом.

Обратите внимание, что поля также могут быть косвенно записаны с помощью указателей (типа * и &), которые невозможно обнаружить в наиболее общем случае (так как указатель может поступать извне).

...