どこに消えたかIsReadOnly
とても不思議な現象にあっている。List
List<string> list = new List<string>(); bool a = list.IsReadOnly; // ← そんな定義は見つからないというコンパイルエラー。 IList<string> ilist = list; a = ilist.IsReadOnly; // 問題ない。
どんな方法を使えばこんなことが実現できるのかとても興味深い。ただのバグだったらやだけど。
追記
明示的実装をするだけで消えるということのようです。限定させればちょっとした隠蔽ができるというのは結構うれしい。ただ GetEnumeratorは明示的実装をしても、foreach で引っ掛かってくれます。