早教吧 育儿知识 作业答案 考试题库 百科 知识分享

vb.net类实例的销毁我定义了一个类,类中包含了socket然后我在一个函数A中实例化这个类,命名为a,通过在函数A中调用函数B,将a传递到函数B中,在函数B中又命名了一个类变量b=a.那么问题来了我

题目详情
vb.net 类实例的销毁
我定义了一个类,类中包含了socket
然后我在一个函数A中实例化这个类,命名为a,通过在函数A中调用函数B,将a传递到函数B中,在函数B中又命名了一个类变量b=a.那么问题来了
我仅仅实例化了一个类,那么在内存中应该也只有这一个类实例,只不过有两个引用名称而已.
1.那么,如果我将b=nothing,那么按理说我a还是上面那个类实例,我如何彻底的将这个类实例销毁呢?
2.假如函数A运行完了,那么变量a是否自动销毁(只是说这个变量名称,而不是内存中的类实例)?
▼优质解答
答案和解析
无代码无真相!
话说,应该看你这个实例a是作用域的变量,如果仅仅是在函数A中定义的局部变量,那么应该会在函数运行完成的时候自动销毁的.这个应该是变量的生存期问题.

但是,根据你所提供的描述来看,你的这个a类应该定义的至少是一个是模块级别的变量,不然,你在函数B中,用另一个b类来引用a实例是无法实现的.因此,我感觉函数A运行完了之后,你的a实例应该并没有销毁,只有等到整个模块被结束的时候才能销毁.

(PS: VB.net没有用过,以上仅仅是基于vb6.0的类模块使用方法所提出的一点参考建议!)