我正在看一些代码,它有这样的声明:
~ConnectionManager()
{
Dispose(false);
}
Run Code Online (Sandbox Code Playgroud)
该类实现了IDisposable接口,但我不知道这是否是使用波浪号(〜)的一部分.
Pat*_*ins 200
〜是析构函数
最终确定
在C#中,Finalize方法执行标准C++析构函数将执行的操作.在C#中,您没有将其命名为Finalize - 您使用C++析构函数语法在类的名称前面放置代字号(〜).
部署
最好将对象置于可由类的用户明确调用的方法Close()或Dispose()方法中.GC调用Finalize(析构函数).
该IDisposable的界面告诉你的类保存到了需要配置资源,并为用户提供一种方式来释放他们的世界.如果确实需要在类中实现终结器,则Dispose方法应使用该GC.SuppressFinalize()方法来确保抑制实例的最终化.
用什么?
明确地调用析构函数是不合法的.您的析构函数将由垃圾收集器调用.如果您确实处理了要尽快关闭和处理的宝贵的非托管资源(例如文件句柄),那么您应该实现IDisposable接口.
它用于指示类的析构函数.
| 归档时间: |
|
| 查看次数: |
43335 次 |
| 最近记录: |