4

.NET Reflection API の調査 リフレクションを使用してプライベート フィールド/プロパティの値を変更することが可能であり、その場合、セキュリティはリフレクションのアクセス許可によって制御されることを理解しました。私の質問は、コードがプライベート フィールドにアクセスできるかどうかを制御する方法です。MSDN から:

コードで非パブリック メンバーを呼び出せるようにするには: ReflectionPermissionFlag.MemberAccess フラグを使用して、コードに ReflectionPermission を付与する必要があります。

クラスのプライベート フィールドを、リフレクションを使用するコードから見えないようにするにはどうすればよいですか? それを行う際のベストプラクティスは何ですか?

4

2 に答える 2

3

ReflectionPermissionリフレクションされるコードではなく、リフレクションを使用するコードに付与される権限です。

開発者として、コードが反映されないようにするためにできることは何もありません。難読化を使用することもできますが、それはリフレクションを難しくするだけであり、不可能ではありません。

システム管理者として、マシンに適切なセキュリティ ポリシーを適用することで、必要なコードの実行を防ぐことができるかもしれませんがReflectionPermission、あなたの質問を正しく理解していれば、これはあなたが探しているものではありません。

于 2013-10-04T07:11:00.077 に答える