2008-09-18 14 views

Antwort

5

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!

+2

Die Anwendung benötigt jedoch wahrscheinlich volle Vertrauenswürdigkeit (oder zumindest ReflectionPermission). – Lucas

2

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

3

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 Reflexion.

+1

Ja, die Anwendung benötigt volle Vertrauenswürdigkeit (oder mindestens ReflectionPermission). – Lucas

0

Ja, Sie können aber Sie sollten wirklich Fragen Sie sich, warum Sie

Es gibt eigentlich nur einen Fall :) gehen, wo es Sinn und das ist ein Unittest machen.