高手们来呀,提个简单问题请吃饭,给大分
public class Cards:CollectionBase
{
public void Add(Card newCard)
{
List.Add(newCard);
}
public void Remove(Card oldCard)
{
List.Remove(oldCard);
}
public Cards()
{
}
public Card this[int cardIndex]
{
get
{
return (Card)List[cardIndex];
}
set
{
List[cardIndex] = value;
}
}
}
说明:Card是一个纸牌类
看代码,回答问题,高手不要吝啬啊:
public Card this[int cardIndex]
{
get
{
return (Card)List[cardIndex];
}
set
{
List[cardIndex] = value;
}
}
俺看不明白的就是上面这段看似定义属性又像构造函数的东西,谁能告诉俺它是属性定义还是构造函数(俺感觉像属性定义,可是public Card this[int cardIndex]太让俺迷糊了),谁能给俺讲讲集合的索引在这是怎么回事?List[cardIndex];又是怎么回事,不是说List是IList接口的一个属性吗,它后面跟一个索引又是怎么回事?
------解决方案--------------------public Card this[int cardIndex] 是定义索引器
List[cardIndex]实际上应该是base.List[cardIndex],List是基类的一个属性