关于CollectionBase中的继承覆盖问题

simonw 2003-04-01 10:18:48
在system.collections中有CollectionBase用于生成强类型集合。

abstracte class CollectionBase:IList...{ //CollectionBase继承自IList接口。
protected ArrayList InnerList; //属性
protected IList List; ////属性
.
.
}

interface IList {
int Add(oject value);
.
.
} //IList 是这样定义的

但是CollectionBase中却没有定义或实现int Add(oject value)方法。然而当
class A : CollectionBase {}

A test = new A();
test.Add("xxx"); //是不正确的编译器说没有定义add方法

IList test = new A();
test.Add("xxx"); //是正确的,可以用

这个add是从哪里来的?IList 定义了add方法CollectionBase没有实现这个test.add是从哪里来的?
我若想覆盖test.Add(),我该如何写?
...全文
20 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
lsfyfan 2003-07-27
  • 打赏
  • 举报
回复
try:

int override IList.Add(object value){}
int Add(object vlaue){}
justleon 2003-07-27
  • 打赏
  • 举报
回复
CollectionBase里实现了Add方法,是保护的(protected).

重载如下
int override IList.Add(object value);

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧