Domanda

Ho sempre creduto di sì, ma vedere alcune risposte qui mi fa dubitare...

Posso accedere a campi/proprietà/metodi privati ​​dall'esterno di una classe attraverso la riflessione?

È stato utile?

Soluzione

Sì, puoi accedere ai campi privati ​​tramite riflessione.Questo è il modo in cui molti ORM popolano un oggetto senza passare attraverso le tue proprietà (che invocherà la logica aziendale che potresti non aver intenzione di eseguire su un carico di oggetto).

I modificatori di accesso non sono una forma di sicurezza!

Altri suggerimenti

Tuttavia, sono necessarie autorizzazioni aggiuntive per accedere a campi/proprietà/metodi privati/protetti/interni dall'esterno di una classe attraverso la riflessione.

Sì, puoi, basta specificare il modificatore di accesso in BindingFlags quando accedi.

Si, puoi:ma dovresti davvero chiederti perché lo farai :)

In realtà c'è solo un caso in cui può avere senso e questo è UnitTest.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top