IList的索引器

时间:2009-09-29 21:00:33

标签: c# oop inheritance

这可能是我在C#继承中忽略的东西,但我试图构建一个实现IList的类(System.Collections版本,而不是泛型)编译器抱怨我没有实现索引器,但我正在查看也实现IList的CollectionBase,它似乎也没有公开索引器。

通过Reflector查看它时,似乎CollectionBase是抽象的,并且它实现一个索引器,但它看起来是私有的。我尝试了这个并没有骰子,编译器坚持认为如果我想实现IList,我必须有一个返回对象的公共,非静态索引器。

所以我的问题不是为什么我需要一个,但是CollectionBase如何通过私有索引器逃脱?

1 个答案:

答案 0 :(得分:2)

它不使用显式接口实现:

object IList.this [int index] {get;组; }

就在那里,你只是在默认的类接口上看不到它(使用COM术语) - 你必须强制转换为IList来查看/使用它。