.net - 有没有办法在CLR中创建WeakList或WeakCollection(如WeakReference)?

标签 .net garbage-collection weak-references

使用List<WeakReference>将无法正常运行。我想要的是,只要引用的对象被垃圾回收,WeakReferences就会自动从列表中删除。
ConditionalWeakTable<TKey,TValue>也不令我满意,因为尽管它的键和值被弱引用和可收集,但是您无法枚举它们!

最佳答案

我同意可以实现WeakList<T>,但是我认为这并不容易。欢迎使用我的实现hereWeakCollection<T>类取决于 WeakReference<T> ,后者又取决于 SafeGCHandle

关于.net - 有没有办法在CLR中创建WeakList或WeakCollection(如WeakReference)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2837478/

相关文章:

swift - weak var : test:UIView! 和 outlets 中的 weak var test :UIView? 有什么区别?

c# - C# 中 try/finally 的开销?

java - 带有空队列的 PhantomReference

java - JMH 中 hs_gc 分析器计数器的含义

c# - 工作环境的垃圾收集?

Python:取消引用 weakproxy

linux - Linux内存管理器中的"Weak reference"?

c# - 如果安全不是问题,那么不可变接口(interface)是一个好的模式吗?

.net - 重新执行错误:退出状态1:输出:ProcessUtilityVMImage\UtilityVM:系统找不到指定的路径

c# - 什么时候创建扩展方法是正确的?