Влияют ли модификаторы доступа также на отражение?

StackOverflow https://stackoverflow.com/questions/95974

Вопрос

Я всегда верил, что они это сделали, но, увидев здесь некоторые ответы, я засомневался...

Могу ли я получить доступ к закрытым полям / свойствам / методам извне класса через отражение?

Это было полезно?

Решение

Да, вы можете получить доступ к личным полям через reflection.Именно так многие ORM выполняют заполнение объекта, не просматривая ваши свойства (что вызовет бизнес-логику, которую вы, возможно, не собирались запускать при загрузке объекта).

Модификаторы доступа не являются формой безопасности!

Другие советы

Однако вам нужны дополнительные разрешения для доступа к частным / защищенным / внутренним полям / свойствам / методам извне класса посредством отражения.

Да, вы можете, вы просто указываете модификатор доступа в BindingFlags при обращении к ним.

Да, ты можешь:но вам действительно следует спросить себя, зачем вы это делаете :)

На самом деле есть только один случай, когда это может иметь смысл, и это UnitTest.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top