析构函数和标准dispose模式

析构函数(destructor):可以在一个类的实例不再被引用的时候执行一些操作,以清除或释放非托管资源

注意几点:

1.每个类只能有一个析构函数

2.析构函数不能有参数和访问修饰符,名称与类名相同,在类名前加~

3.析构函数只能用于类的实例,没有因此静态析构函数

Class1

{~Class1()

        { CleanupCode

         }

重点:标准dispose模式(非常棒)

1.析构函数和Dispose方法的逻辑是,如果代码由于某种原因没有调用Dispose,那么析构函数应该调用它,并释放资源

2.在Dispose方法最后应调用GC.SuppressFinalize方法,通知CLR不要调用该对象的析构函数,因为代码的清除工作已经完成


析构函数和标准dispose模式_第1张图片

下面的解释很重要

析构函数和标准dispose模式_第2张图片

你可能感兴趣的:(析构函数和标准dispose模式)