6

私はいつも彼らがそうだと信じていましたが、ここでいくつかの答えを見ると疑わしくなります...

リフレクションを介してクラス外からプライベート フィールド/プロパティ/メソッドにアクセスできますか?

4

4 に答える 4

5

はい、リフレクションを介してプライベート フィールドにアクセスできます。これは、多くの ORM がプロパティを経由せずにオブジェクトを設定する方法です (これにより、オブジェクトの読み込み時に実行されることを意図していなかったビジネス ロジックが呼び出されます)。

アクセス修飾子はセキュリティの形式ではありません!

于 2008-09-18T19:24:57.177 に答える
3

ただし、リフレクションを通じてクラスの外部からプライベート/保護/内部フィールド/プロパティ/メソッドにアクセスするには、追加のアクセス許可が必要です。

于 2008-09-18T19:23:58.240 に答える
2

はい、できます。アクセスするときに BindingFlags でアクセス修飾子を指定するだけです。

于 2008-09-18T19:22:56.403 に答える
0

はい、できます: しかし、なぜそうするつもりなのかを自問する必要があります :)

実際には、それが意味をなすケースは 1 つだけで、これは UnitTest です。

于 2008-09-18T19:24:19.003 に答える