Вопрос возникает с двумя фактами: 1) При размышлении можно вызвать приватный метод.2) TypeBuilder не может создать новый тип «унаследованного» внутреннего типа формы из другой сборки.
Я могу объяснить поведение TypeBuilder с помощью ECMA-335 - если тип не «помечен как экспортированный», он невидим, требуется наследованиеvisibility.
Но я не могу объяснить, почему работает отражение?
Спецификация ECMA узаконивает доступ к метаданным во время выполнения с помощью Reflection, и упоминается одно приложение - сериализация, которая означает доступ к состоянию., к полям. Есть также предложение «метаданные описывают, как разрешить вызов», но я не могу найти в тексте случаев, когда доступность метода может быть проигнорирована при разрешении вызова.Возможно, я что-то пропустил.Может ли кто-нибудь объяснить мне, как авторы ECMA оставили дверь открытой для вызовов частных методов (по крайней мере, для размышления, кстати, есть фраза «доступ к членам можно игнорировать, если это специально указано» - но я не могу найти эти случаи втекст, опять же)?