Почему вообще возможно изменить закрытый член или запустить закрытый метод в C #, используя отражение? [Дубликат]

На этот вопрос уже есть ответ здесь:

Почему отражение доступа защищенного / частного члена класса в C #? 3 ответа

Недавно я столкнулся с проблемой, связанной с использованием C #, и она была решена путем установки закрытого члена с помощьюотражение.

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

Если вы установите поле / член / метод как личное / внутреннее, почему C # как язык позволяет устанавливать эти поля вне области? Я думал бы, что это бросило бы исключение некоторого вида. Если класс хочет, чтобы они были изменены или установлены, не будетЕсть ли метод или конструктор?

Ответы на вопрос(9)

Ваш ответ на вопрос