3

http://msdn.microsoft.com/en-us/library/dd468057.aspxで、変更追跡プロキシが必要なすべてのナビゲーションプロパティがである必要があることを読みましpublicvirtual。私が理解していることから、CLRはPOCOのサブクラスを動的に作成し、プロパティを再実装して要求された動作を提供します。

このために、私は、プロパティがである必要がありvirtual、それがprotectedより高いアクセス可能性を持っている必要があることを理解しています。ただし、これらをアセンブリ内で便利に使用したいが、公開したくない場合は、公開しない方がよいでしょうpublic。それは私を2つの質問に導きます。

  1. (何が起こっているのかを理解するために)ランタイムでプロパティがまたはpublicではなく必要なのはなぜですか?protectedinternal

  2. (私の実際の状況では)ナビゲーションプロパティを非表示にするための回避策はありますが、それでも変更の追跡動作はありますか?

4

1 に答える 1

2

プロキシが機能するには、プロパティがパブリック(および仮想)または保護(および仮想)である必要があります。

プロキシはアセンブリで事前に定義されていないため、内部は機能しません。

明らかな理由でプライベートは機能しません(プロキシはクラスから継承します)。

于 2012-06-18T13:01:20.527 に答える