IList<T>
内部インスタンスを実装してラップする特殊なプロキシ クラスを作成していますList<T>
。
List<T>
自身は を実装しておりIList<T>
、メンバーを宣言しているブール値IsReadOnlyしかし、自分のクラスからそのメンバーにアクセスしようとすると、List<T>
IsReadOnly がプライベートであるためアクセスできません。
私の質問は、インターフェースの実装で実装されたすべてのメンバーがパブリックである必要がある場合、なぜList<T>
get は IsReadOnly をプライベートとして実装し、アクセスを拒否するのでしょうか?
ベストアンサー1
インターフェース メンバーを明示的に実装します。
http://msdn.microsoft.com/en-us/library/aa288461(VS.71).aspx
これによってインターフェース メンバーが作成されるわけではないことに注意してくださいprivate
。インターフェースを介してオブジェクトを参照する場合 (キャストを使用) のみ、パブリックに引き続き使用できます。