c# – 如何删除类的实例?
发布时间:2020-12-16 00:13:58 所属栏目:百科 来源:网络整理
导读:所以,我有这个项目创建一个类的多个实例,并列出它们. 在某些时候,不再需要实例化的类.我怎么冲洗它? 到目前为止,它不会发生,即使该类不再需要做任何事情(如果它是一个静态类,程序将关闭),它仍然在我的列表中,它的公共变量仍然可用. .. 解决方法 您可以让您
所以,我有这个项目创建一个类的多个实例,并列出它们.
在某些时候,不再需要实例化的类.我怎么冲洗它? 到目前为止,它不会发生,即使该类不再需要做任何事情(如果它是一个静态类,程序将关闭),它仍然在我的列表中,它的公共变量仍然可用. .. 解决方法
您可以让您的实例引发一个事件(例如OnInactivated).当项目添加到列表(子类或封装列表并覆盖Add方法)时,列表类应为此类事件添加处理程序.触发事件时,该列表将从列表中删除该对象.假设该对象未在任何其他列表中引用(也可能正在侦听),则垃圾收集器可以自由处理该对象.
通过这种方式,对象不需要跟踪对自身的所有引用,并且知道如何通知引用持有者释放引用. 这是一个可运行的例子:http://www.coderun.com/ide/?w=Hw83i0wAQkugUif5Oj2lmw (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |