析构函数

weikeli19 2016-01-02 02:48:25

请问我用笔划下来的这句,怎么显示的执行?能不能用最简单的代码演示给我看?谢谢啦
...全文
140 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
weikeli19 2016-01-02
  • 打赏
  • 举报
回复
好吧 我懂了 谢谢你哈
Poopaye 2016-01-02
  • 打赏
  • 举报
回复
没有写基类就默认是object 你那本书上没写么?
weikeli19 2016-01-02
  • 打赏
  • 举报
回复
引用 3 楼 shingoscar 的回复:
首先,像下面这样的写法
class A
{
	protected override void Finalize()
	{
		base.Finalize();
	}
}
vs是会禁止的,编译时会产生一个错误
错误	2	请不要重写 object.Finalize,而是提供一个析构函数。
就像你划线前面的部分说的,因为.net要保证回收对象时能够调用到Finalize方法 所谓显式执行,就是我上面代码里的base.Finalize();,如果你去掉这句,那基类的Finalize方法就不会执行
你是不是漏掉了 class A:xxx 漏掉了基类xxx?
Poopaye 2016-01-02
  • 打赏
  • 举报
回复
首先,像下面这样的写法
class A
{
	protected override void Finalize()
	{
		base.Finalize();
	}
}
vs是会禁止的,编译时会产生一个错误
错误	2	请不要重写 object.Finalize,而是提供一个析构函数。
就像你划线前面的部分说的,因为.net要保证回收对象时能够调用到Finalize方法 所谓显式执行,就是我上面代码里的base.Finalize();,如果你去掉这句,那基类的Finalize方法就不会执行
shashou47 2016-01-02
  • 打赏
  • 举报
回复
类似构造函数,你不写,编译器也会默认一个构造函数
weikeli19 2016-01-02
  • 打赏
  • 举报
回复
代码要写全,否则我看不懂

111,125

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧