ランタイム C# コードをアセンブリにコンパイルし、asp.net のメモリに格納するコードをいくつか書きました。その後、そのようなコンパイル済みコードを実行できます。
実行時にコンパイルするコードはユーザーが作成します。私が作成した基本クラスから継承するのは、常に 1 つのクラスです。問題は、ユーザーがリフレクションを使用してこの基本クラスのプライベート フィールドとメソッドにアクセスできることです。私の質問: リフレクションの使用を防ぐ方法はありますか?
ランタイム C# コードをアセンブリにコンパイルし、asp.net のメモリに格納するコードをいくつか書きました。その後、そのようなコンパイル済みコードを実行できます。
実行時にコンパイルするコードはユーザーが作成します。私が作成した基本クラスから継承するのは、常に 1 つのクラスです。問題は、ユーザーがリフレクションを使用してこの基本クラスのプライベート フィールドとメソッドにアクセスできることです。私の質問: リフレクションの使用を防ぐ方法はありますか?
フレームワーク クラス ライブラリには、System.Reflection API を介して非パブリック型およびメンバーへのアクセスを制御するReflectionPermission属性があります。この属性を生成されたアセンブリに適用できる場合は、それが機能するかどうかを確認できます。