这是我多次遇到的一种模式,我已经四处搜索,但没有就最佳方法达成共识。
public class ItemListWrapper
{
public List<Item> Contents;
}
public class Item
{
void DoStuffAndRemove() { }
}
当调用 DoStuffAndRemove() 时,我希望该项目执行一些功能,然后从 ItemListWrapper 中删除。我能想到的两种方法是让 ItemListWrapper 实现 IList (可行,但不得不编写所有样板代码有点烦人)并将委托传递给每个项目以调用它从列表中删除自身(似乎很复杂) .
任何帮助表示赞赏。谢谢。