Beeinflussen Access-Modifikatoren auch die Reflektion?

Ich glaube immer, dass sie es getan haben, aber wenn ich hier einige Antworten sehe, zweifle ich daran ...

Kann ich über Reflektion von außerhalb einer Klasse auf private Felder/Eigenschaften/Methoden zugreifen?

0

4 Antworten

Ja, Sie können den Zugriffsmodifikator in den BindingFlags angeben, wenn Sie darauf zugreifen.

0
hinzugefügt

Ja, Sie können über Reflektion auf private Felder zugreifen. Auf diese Weise werden viele ORMs dazu verwendet, ein Objekt zu füllen, ohne die Eigenschaften zu durchlaufen (wodurch die Geschäftslogik aufgerufen wird, die bei einem Objektladen möglicherweise nicht ausgeführt werden sollte).

Zugriffsmodifizierer sind keine Form der Sicherheit!

0
hinzugefügt
Die Anwendung benötigt jedoch wahrscheinlich volle Vertrauenswürdigkeit (oder zumindest ReflectionPermission).
hinzugefügt der Autor Lucas, Quelle

Sie benötigen jedoch zusätzliche Berechtigungen für den Zugriff auf private/geschützte/interne Felder/Eigenschaften/Methoden von außerhalb einer Klasse durch Reflektion.

0
hinzugefügt
Ja, die Anwendung benötigt vollständige Vertrauenswürdigkeit (oder mindestens ReflectionPermission).
hinzugefügt der Autor Lucas, Quelle

Ja kannst du: aber du solltest dich wirklich fragen, warum du gehst :)

Es gibt eigentlich nur einen Fall, wo es Sinn machen kann und das ist ein UnitTest.

0
hinzugefügt