早教吧作业答案频道 -->其他-->
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类实例的销毁我定...的网友还看了以下:
matlab作矩阵的聚类并做出图形.产生一个200×3值在10到100之间的随机矩阵,将200条记 2020-05-17 …
国家统计局将企业按登记注册类型分为()。A.4大类16中类B.3大类16中类C.4大类15中类D.3 2020-05-21 …
已知3个类O、P和Q,类O中定义了一个保护方法F1和公有方法F2;类P中定义了一个公有方法F3,类P 2020-05-26 …
狗跟随人类能得到进化吗?会不会比在野外进化得更快?狗自从跟随人类以来吃着跟人类一样的食物,已经很少 2020-06-15 …
设系统中仅有一个资源类,其中共有3个资源实例.设系统中仅有一个资源类,其中共有3个资源实例,使用此 2020-06-16 …
用Java做的定义一个时间类型(类名MyTime)定义名为Mytime类,其中应有三个整形用Jav 2020-07-17 …
下列对类的描述中,不符合C++语法的是哪个:一个派生类至少有一个基类一个派生类只能有一个基类一个基类 2020-11-22 …
材料一中国是世界上头号鞋类生产和出口大国,美国人均年消费鞋类6—7双,其中4—5双来自中国。目前我国 2020-11-26 …
下列叙述中不正确的是()A.类人猿和人类一样有A、B、O、AB等血型B.黑猩猩和人类的DNA差异很小 2020-12-07 …
白鳍豚、中华鲟、扬子鳄、大鲵是属于我国保护的珍稀水生动物,它们分别属于()A.鱼类、鱼类、两栖类、两 2021-02-05 …