リストはどのように IsReadOnly がインターフェースメンバーの場合、IsReadOnly をプライベートにしますか? 質問する

リストはどのように IsReadOnly がインターフェースメンバーの場合、IsReadOnly をプライベートにしますか? 質問する

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。インターフェースを介してオブジェクトを参照する場合 (キャストを使用) のみ、パブリックに引き続き使用できます。

おすすめ記事