Почему вообще возможно изменить закрытый член или запустить закрытый метод в C #, используя отражение? [Дубликат]
На этот вопрос уже есть ответ здесь:
Почему отражение доступа защищенного / частного члена класса в C #? 3 ответаНедавно я столкнулся с проблемой, связанной с использованием C #, и она была решена путем установки закрытого члена с помощьюотражение.
Я был ошеломлен, узнав, что установка частного члена / поля, а также запуск частного метода - это вещи, которые разрешены и возможны в C #. Это не вопрос того, как делать эти вещи, они хорошо документированы, мой вопрос: почему?
Если вы установите поле / член / метод как личное / внутреннее, почему C # как язык позволяет устанавливать эти поля вне области? Я думал бы, что это бросило бы исключение некоторого вида. Если класс хочет, чтобы они были изменены или установлены, не будетЕсть ли метод или конструктор?