Modificatorii de acces afectează și reflecția?

Întotdeauna cred că au făcut-o, dar văzând câteva răspunsuri, mă îndoiesc ...

Pot accesa câmpuri/proprietăți/metode private din afara unei clase prin reflecție?

0

4 răspunsuri

Da, puteți specifica modificatorul de acces în BindingFlags când le accesați.

0
adăugat

Da, puteți accesa câmpurile private prin reflecție. Acesta este modul în care o mulțime de ORM-uri se ocupă de popularea unui obiect fără a trece prin proprietățile dvs. (ceea ce va invoca logica de afaceri pe care probabil că nu ați intenționat să o rulați pe o încărcare de obiecte).

Modificatorii de acces nu reprezintă o formă de securitate!

0
adăugat
Aplicația probabil are nevoie de încredere deplină (sau cel puțin ReflectionPermission).
adăugat autor Lucas, sursa

Cu toate acestea, aveți nevoie de permisiuni suplimentare pentru accesarea câmpurilor/proprietăților/metodelor private/protejate/interne din afara unei clase prin reflecție.

0
adăugat
Da, aplicația are nevoie de încredere deplină (sau cel puțin ReflectionPermission).
adăugat autor Lucas, sursa

Da, poți: dar chiar ar trebui să te întrebi de ce te duci :)

Există de fapt doar un singur caz, în cazul în care poate avea sens și este un test de tip UnitTest.

0
adăugat