早教吧作业答案频道 -->其他-->
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是否自动销毁(只是说这个变量名称,而不是内存中的类实例)?
我定义了一个类,类中包含了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的类模块使用方法所提出的一点参考建议!)
话说,应该看你这个实例a是作用域的变量,如果仅仅是在函数A中定义的局部变量,那么应该会在函数运行完成的时候自动销毁的.这个应该是变量的生存期问题.
但是,根据你所提供的描述来看,你的这个a类应该定义的至少是一个是模块级别的变量,不然,你在函数B中,用另一个b类来引用a实例是无法实现的.因此,我感觉函数A运行完了之后,你的a实例应该并没有销毁,只有等到整个模块被结束的时候才能销毁.
(PS: VB.net没有用过,以上仅仅是基于vb6.0的类模块使用方法所提出的一点参考建议!)
看了 vb.net类实例的销毁我定...的网友还看了以下:
有一堆苹果,十个十个数剩九个,九个九个数剩八个,八个八个数剩七个,七个七个数剩六个,六个六个数剩五 2020-04-06 …
若两数之和为负数则A.两个加数都为负数B.两个加数中一个为正数一个为负数且负数的绝对值较大C.两个 2020-04-26 …
若两数之和为负数,则()A两个加数都为负数B两个加数中,一个为正数,一个为负数,且负数的绝对值较大 2020-04-26 …
∵EM是⊙O的切线,怎么推出EB•EC=EM2①?,看题后回答.(2005•温州)如图,已知四边形 2020-05-21 …
找出发音相同的单词opposite中第二个o发音相同的是:A.c[o]mpanion[kəmˈpæ 2020-06-06 …
如图,已知AC、BD交于O点,且∠A=∠B,OD=OC,EF为过O点的一条线段,分别交AD、BC于 2020-06-15 …
在数学活动课中,小辉将边长为根号2和3的两个正方形放置在直线l上,如图一,它连接AD.CF,经测量 2020-06-26 …
一箱石榴,如果5个5个地数,最后还多1个,如果3个3个地数,最后也多一个,如果七个七个地数,最后一 2020-07-07 …
D为圆O内一点,BD交圆O于C,BA切圆O于A,若AB=6,OD=2,DC=CB=3.则圆O半径是 2020-07-12 …
大气臭氧层的反应是:O+O3=2O2△H,该反应的能量变化如图所示,下列叙述中,正确的是()A.O+ 2020-10-31 …