首页新闻找找看学习计划

C# 事件注册后会自动反注册吗?

0
悬赏园豆:10 [已解决问题] 解决于 2019-12-06 13:35

在修改别人的代码时遇到了一个问题:
比如我有个A类的Collection--【ACollection】作为全局变量
在一个方法里的Foreach中New了一些A对象作为局部变量然后添加到ACollection中:
var a = new A();
a.xxxEvent += Onxxx
ACollection.add(a);
但是,没有再对这个xxxEvent进行“-=” 处理,只是在需要用Foreach往ACollection里添加元素之前进行了一个ACollection.Clear()处理。

所以我想问的是:
在集合被清空后,里面的元素注册了的方法会自动被反注册吗?
还是说需要我手动的再把集合里的元素都取出来然后反注册一遍?

围勒个脖的主页 围勒个脖 | 初学一级 | 园豆:193
提问于:2019-11-18 11:30
< >
分享
最佳答案
1

不会自动反注册

Clear之后对象没有其他地方引用的话,CLR会自己进行垃圾回收不用管

收获园豆:10
左眼水星 | 初学一级 |园豆:63 | 2019-11-19 14:57
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册