【发布时间】:2009-03-31 20:54:23
【问题描述】:
public sealed class FtpManager
{
public event EventHandler LoggingIn = delegate { };
private void OnLoggingIn(object sender, EventArgs e)
{
var handler = LoggingIn;
handler(sender, e);
}
// ...
}
在上面的代码中,我使用空委托初始化了LoggingIn 事件处理程序。
这会影响以任何方式使用的内存空间吗?尤其是当有成百上千的事件以这种方式声明时?
【问题讨论】:
-
不要忘记涉及的额外方法调用。您将调用事件处理程序和您通过匿名委托分配的空方法。我还没有进行任何测试,但你至少应该意识到这一点......
标签: .net events memory-management delegates