【发布时间】:2020-11-09 14:00:01
【问题描述】:
我看过很多文章说 IDisposable 的目的是关闭非托管对象,如数据库连接和第三方报告。但我的问题是,如果我可以在我的方法中处理非托管对象,我为什么要定义 Dispose 方法没有定义 Dispose() 方法?
举个例子,
class Report : IDisposable
{
public void GenerateReport()
{
Report rpt=new Report() //unmanaged object created
rpt.Dispose(); // Disposing the unmanaged object
}
private void Dispose()
{
//not sure why this block is needed
}
}
我的理解正确吗?
【问题讨论】:
-
嗨,杰。您可能会在stackoverflow.com/questions/538060/… 找到您的问题(以及许多其他问题!)的答案。此外,如果这个问题最终被标记为重复,请不要感到惊讶 - 它之前已经介绍过:-)