我有这门课,我想理解:
public class Track
{
public string Title { get; set; }
public uint Length { get; set; }
public Album Album { get; internal set; }
}
public class Album : Collection<Track>
{
protected override void InsertItem(int index, Track item)
{
base.InsertItem(index, item);
item.Album = this;
}
protected override void SetItem(int index, Track item)
{
base.SetItem(index, item);
item.Album = this;
}
protected override void RemoveItem(int index)
{
this[index].Album = null;
base.RemoveItem(index);
}
protected override void ClearItems()
{
foreach (Track track in this)
{
track.Album = null;
}
base.ClearItems();
}
}
为什么我们在分配新变量后使用 base.InsertItem?可以省略 base.InsertItem 和其他(设置、删除、清除项目)。
我想我对我的问题不够清楚。
base.InsertItem 在我看来,是 Collections 方法将项目添加到集合中。因此,如果我们已经添加了它,为什么我们要将它分配给 item.Album。
我对 Track 类中的 Album 和使用 Collection 的 Album 类有点困惑。
有人可以告诉我使用这个集合的例子吗?
谢谢你!