例如
obj.onMove+= EventonMove
在Dispose函数里,还需要
obj.onMove-= EventonMove
这样写吗?
解决方案
35
假设你告诉本人说“本人现在学习编程也就是写这两行代码”
Button btn = new Button("你好"); btn.OnClick += new EventHandler<string>(onClick);
你说之后的 btn 怎么用你也说不出来。
那么本人告诉你,本人根本不会跟你多说什么“内存泄漏问题”问题,本人会让你把多余的这两行代码删掉。这才是编程设计之道。
删除代码还能达到程序功能需求,才能成为编码行家。那种舍不得删除代码的人,最多也就是抄别人的代码。本这个原则你就一定会给 btn 最终写出一条有一点实际意义的代码(从而你就会在那个时候突然明白本人提前给你解决了更多的争议问题),而不是这样两条没有意义的代码。
5
虽然sp1234码了这么多字,不过本人的建议是
当你不再需要监听某个事件的时候,就应当主动删除掉
就好像一个邮箱,没用的时候主动关掉,否则只会塞满垃圾邮件而已
当你不再需要监听某个事件的时候,就应当主动删除掉
就好像一个邮箱,没用的时候主动关掉,否则只会塞满垃圾邮件而已