Я хочу получить информацию о полях, функциях и потоках какого-либо проекта, через другой проект.C# Отражение во время выполнения
В качестве примера проект, который я хочу исследовать, я создал поле Int х, который инициализирует до 1. Главный вызов функции, которая изменяет значение х до 2. я застрял Главное в бесконечном цикле. Я управлял этим проектом.
Второй проект: Получить путь к файлу EXE первого проекта и загрузить сборку. Отражением я получил имена отделов, функций и полей. Я попытался напечатать значение поля x функцией getValue. Вместо печати 2 было напечатано 1. т. Е. Отражение относится к значениям скомпилированного времени, а не времени выполнения.
Что мне делать?
Вы имеете в виду, что вам нужно динамически опросить другую сборку? – Dreamwalker
Это не то, что означает отражение в мире .NET. Я бы рекомендовал назвать это чем-то другим. – Euphoric
Загрузка сборки не запускает код. Вы не выполнили свой 'Main' и, таким образом, никогда не обновляли' x'. Вы пытаетесь получить доступ к значениям в памяти из совершенно другого процесса, и это совсем другой чайник из рыбы. =) –