1

次のプロパティを取得します。

public string Foo
{
   get;
   private set;
}

リフレクションを使用すると、所有するクラスの外部からこのプロパティの値を設定できます。これを防ぐ方法はありますか?set アクセサーを削除することは、WCF フレンドリーでなければならないため、オプションではありません。

4

3 に答える 3

5

ジョン・スキート言います:

呼び出し元が「完全な信頼」を持っている状況で使用されているリフレクションを (AFAIK) 停止することはできません。それらが完全に信頼されていない状態で実行されている場合、リフレクションに関するいくつかのこと (すべてではないにしても) が自動的に無効になると思います。 そもそもあなたが彼らのボックスをコントロールしていない限り、完全に信頼してコードを書いてください。

于 2009-11-09T20:05:54.983 に答える
4

本当に厄介な解決策は、StackTraceクラスを使用して、独自のクラスのメソッドのみがセッターを呼び出すことを確認することです。

于 2009-11-09T20:11:32.703 に答える