抄点代码容易,但是自己亲自动手写测试来“否定之否定”地测验它,这才是真正的技术。会建立一个东西之前,你也要会破坏、毁掉一个东西。如果只会照抄书上的,那么就成了中小学生的思维习惯了,而不是成年人了。
一般不用特意去注销(反正我没注销过),注册是+=,注销就是-=
事件是依赖倒置机制,也就是说,对象 A 的事件被 B 对象监听,此时 A 并不依赖于 B,相反地B依赖于 A。A将消息通知给B,但是A并不依赖B,相反地事件触发类型定义了事件接口(而不是事件接收方来定义接口)。 对于 GC 来说,只要B依赖于A 则需要先释放A,但是A并没有依赖所以可以释放。 假设作为服务的 A 对象并不释放,但是你希望能够让 GC 去释放那个看起来是客户对象的 B,那么你就需要“注销事件”,否则就会因为事件的倒置依赖关系而产生内存泄漏。
[quote=引用 2 楼 yuankaiwsl 的回复:] 一般不用特意去注销(反正我没注销过),注册是+=,注销就是-=
110,561
社区成员
642,566
社区内容
加载中
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧