在同一类中,公共方法调用IDisposable的Dispose是否正确?
例如:
public class Worker : IDisposable
{
public void Close()
{
SendCloseCommand();
Dispose();
}
public void Dispose()
{
////other resources release
}
private void SendCloseCommand()
{
}
}
关于一次性模式的另一件事情: 如果Close方法应该总是被调用,那么最好是从Dispose方法中调用它吗?
如果不是这样,我应该在每个地方都使用try/catch/finally来调用Close以使用Worker类。对吧?
正确的设计应该是什么?
public class Worker : IDisposable
{
public void Close()
{
SendCloseCommand();
}
public void Dispose()
{
Close();
////other resources release
}
private void SendCloseCommand()
{
////other stuff
}
}