c# - 方法是否列出.Remove() 从删除对象中调用 Dispose() 方法?
问题描述
我在集合列表中有几个对象。我需要知道从集合中删除对象时是否调用了 Dispose() 方法?如果没有,是否有办法在移除对象时调用它?
解决方案
您将必须创建自己的集合类来管理处置。实际上列表和集合与对象生命周期无关。
public class AutoDisposeList<T> : IList<T> where T : IDisposable
{
public void Add(T item)
{
base.Add(item);
}
public void RemoveAndDispose(T item)
{
base.Remove(item);
item.Dispose();
}
}
推荐阅读
- sql - 跳过 Id 列表的第一个插入记录的耗时查询
- python - Django-location-field - 地图不显示
- bash - 如何将 bash shell 字符串转换为命令
- git - 将git分支恢复到最后一次提交的安全方法?
- javascript - Ionic 5 File opener 问题是找不到文件
- php - 在 Laravel Spatie 中获取登录用户角色
- ruby-on-rails - 在 Rails 6 中将错误序列化为 JSON
- jquery - bxSlider 一张静态图片
- flutter - 扑。如何在没有 UI 的情况下扫描条形码
- vb.net - VB.net 在 Excel 中为字符串添加换行符