C#析构函数
来源:互联网 发布:mac 关闭屏幕不休眠 编辑:程序博客网 时间:2024/05/18 02:11
首先,析构函数的注意事项:
不能在结构中定义析构函数。只能对类使用析构函数。
一个类只能有一个析构函数。
无法继承或重载析构函数。
无法调用析构函数。它们是被自动调用的。
析构函数既没有修饰符,也没有参数。
如果您的应用程序在使用昂贵的外部资源,我们还建议您提供一种在垃圾回收器释放对象前显式地释放资源的方式。可通过实现来自IDisposable 接口的Dispose 方法来完成这一点,该方法为对象执行必要的清理。这样可大大提高应用程序的性能。即使有这种对资源的显式控制,析构函数也是一种保护措施,可用来在对Dispose 方法的调用失败时清理资源。
下面的示例创建三个类,这三个类构成了一个继承链。类First 是基类,Second 是从 First 派生的,而 Third 是从 Second 派生的。这三个类都有析构函数。在Main() 中,创建了派生程度最大的类的实例。注意:程序运行时,这三个类的析构函数将自动被调用,并且是按照从派生程度最大的到派生程度最小的次序调用。
C#
复制
class First{ ~First() { System.Diagnostics.Trace.WriteLine("First's destructor is called."); }}class Second : First{ ~Second() { System.Diagnostics.Trace.WriteLine("Second's destructor is called."); }}class Third : Second{ ~Third() { System.Diagnostics.Trace.WriteLine("Third's destructor is called."); }}class TestDestructors{ static void Main() { Third t = new Third(); }}/* Output (to VS Output Window): Third's destructor is called. Second's destructor is called. First's destructor is called.*/
0 0
- C# 析构函数
- c# 析构函数
- C#析构函数
- C#析构函数
- c#构造函数与析构函数
- c#构造函数与析构函数
- C# 构造函数和析构函数
- C#构造函数和析构函数
- C# 构造函数与析构函数
- C#构造函数和析构函数
- C# 构造函数与析构函数
- C#构造函数&析构函数_161019
- C#中的析构函数
- C#中的析构函数
- C#中的析构函数
- C#中的析构函数
- C#中的析构函数
- C#中的析构函数
- Failed to load the jni shared library jvm
- Android dip,px,pt,sp 的区别
- struts2项目开发流程
- C++ protocol buffer内存泄露问题
- 第二章线性表
- C#析构函数
- matlab读取视频VideoReader类
- android如何修改dex文件添加非法指令(学习笔记)
- 国庆期间遇到两个诈骗团伙
- uboot编译全程
- Android打开各种类型的文件方法总结
- 一个由数组越界引发的。。。
- 禅道 linux用一键安装包
- 快速傅里叶变换初步