静态事件处理程序和非静态事件处理程序之间的区别是什么

时间:2010-11-26 02:32:15

标签: c# .net

这两者之间有很大差异吗?

2 个答案:

答案 0 :(得分:16)

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

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

答案 1 :(得分:5)

实际上没有。这意味着当处理程序是静态的时,范围内将没有this(与所有静态方法一样)。