2010-11-26 68 views

回答

15

语义上没有差异,但是使用静态事件处理程序可以(如果你不小心)导致内存泄漏。有关更多信息,请参阅this article

我自己遇到过这个问题,试图使用静态事件处理程序来保持应用程序范围内的数据源处于最新状态;事件处理程序阻止了我的BindingSource组件被丢弃,导致各种奇怪的问题...

+0

+1,用于警告,@Bradley。难道你不需要在`Dispose()`之前退订事件吗? – IAbstract 2010-11-26 03:31:03

4

有效无。所有这一切意味着当处理程序是静态的时候,范围内不会有this(与所有静态方法一样)。

相关问题