【发布时间】:2012-08-15 06:39:27
【问题描述】:
在 .Net 2.0 中工作,即将将代码库迁移到 4.0
最近我一直在使用事件序列化类,并且发现我的事件订阅者(即表单)也会尝试序列化(我现在使用 [field:NonSerializable] 来阻止这种情况)。
这让我想到,如果我将委托传递给静态类的方法(仅用于方法范围),静态类是否根植于委托的所有者,导致其无法被 GC 收集?
我有一个静态 ListUtilities 类来处理 lambda 表达式以及静态缓存,我经常传递委托,想知道这是否会导致内存泄漏?
【问题讨论】:
-
鉴于 LINQ 是建立在扩展方法之上的,扩展方法是静态方法的语法糖,你认为这对于任何使用 LINQ 的人来说都不是一个大规模问题吗?是这样吗?
标签: .net memory-leaks static delegates