【发布时间】:2014-10-12 14:28:33
【问题描述】:
公共方法在同一个类中调用IDisposable的Dispose是否正确?
例如
public class Worker : IDisposable
{
public void Close()
{
SendCloseCommand();
Dispose();
}
public void Dispose()
{
////other resources release
}
private void SendCloseCommand()
{
}
}
关于一次性图案的另一件事: 如果始终调用 Close,那么从 Dispose 方法调用更好还是不调用?
如果没有,我应该把 Worker 类的用法放在一个 try/catch/finally 中,以调用 Close。对吧?
正确的设计应该是?
public class Worker : IDisposable
{
public void Close()
{
SendCloseCommand();
}
public void Dispose()
{
Close();
////other resources release
}
private void SendCloseCommand()
{
////other stuff
}
}
【问题讨论】:
标签: c# design-patterns dispose idisposable