与析构函数不同,构造函数内部所做的事情经常会抛出异常。
析构函数是当对象即将从内存中移除时由运行库执行引擎调用的方法。
基本的一条是无故的声明虚销毁函数同从来不声明为虚销毁函数一样错误。
在多重继承层次中作为基类的类通常应该将它们的析构函数数定义为虚函数。
构造函数以基类到派生类的顺序被调用。但是,析造函数不受程序员的控制。
修饰符可与类、字段、方法、属性和事件一起使用,但不能与析构函数或除类之外的类型一起使用。
对析构函数的运行导致一个重要的编程技术的出现,它使程序更为异常安全的。
因此,必须由运行时代码执行对这些构造函数和析构函数的调用。
添加定义结构的方法、属性、字段、事件、构造函数(方法)、析构函数(方法)和常量。
接口不能包含常量、字段、运算符、实例构造函数、析构函数)或类型。
运行局部对象的析构函数,由类类型对象分配的资源通常由它们的析构函数释放。
在垃圾回收的环境下,不需要通过析构函数释放内存。
有时我们需要释放一些不好的心情,不管怎样,一个人独处是很重要的一件事。
尽管调用了析构函数,但是未调用数组中各个对象的构造函数。
栈展开期间,释放局部对象所用的内存并运行类类型局部对象的析构函数。
若要解决此问题,请确保从Release方法调用的析构函数仅包含本机代码。
本系列的第2部分将介绍C#指示器、属性、构造方法、析构方法,和操作符的建模。
仅在确定所有的类构造函数和析构函数实际调用虚函数时选择此选项。
您不应该在函式(使用有解构函式的物件)之中使用结构化的例外处理。
上面给出的我们的例子是安全的,因为我们要求T的析构函数决不会抛出异常。
最后,值得提到的是在一些类中声明纯虚销毁函数是很方便的。