При генерации IL с помощью DynamicMethod это можно назвать методы и поля доступа, которые были бы в противном случае не-доступны, если вы предоставите «истина» для параметра restrictedSkipVisibility в DynamicMethod constructorМожно ли пропускать проверки видимости при генерации динамического IL с помощью метода MethodBuilder?
Я бы предпочел, чтобы излучать динамический IL в динамическую сборку вместо этого я могу сохранить сгенерированный IL в сборку во время сборки. Если я использую этот метод, я должен использовать MethodBuilder вместо DynamicMethod. Однако мне нужно пропустить проверки видимости, поэтому я не получаю MethodAccessException, когда запускаю свой динамический код. Есть ли способ сделать это, и если да, то как?
Решена ли эта проблема? Можете ли вы вкратце описать, как вы его решили? – kizzx2
Нет. Насколько я могу судить, оно не разрешимо. В итоге я решил использовать другой подход к решению, используя библиотеку Mono.Cecil для повторной записи сборки. Таким образом, я мог бы получить доступ к частным или внутренним членам без нарушения правил безопасности. Тем не менее, с помощью этого метода я не смог правильно совместить символы с исходными файлами, что вызвало другие неприятности. –