我们都知道,
我想知道,在不是为了清理资源而是为了回到先前状态的情况下,使用这个语句是否被认为是一件好事。
例如,一个允许使用
然后,类可以像这样使用,无需担心在完成后还原游标。
using
语句对于需要及时清理的资源非常好,比如打开的文件或数据库连接。我想知道,在不是为了清理资源而是为了回到先前状态的情况下,使用这个语句是否被认为是一件好事。
例如,一个允许使用
using
语句来包装需要花费大量时间并将光标更改为等待状态的过程的类。class CursorHelper : IDisposable
{
readonly Cursor _previousState;
public CursorHelper(Cursor newState)
{
_previousState = Cursor.Current;
Cursor.Current = newState;
}
public void Dispose()
{
Cursor.Current = _previousState;
}
}
然后,类可以像这样使用,无需担心在完成后还原游标。
public void TimeIntensiveMethod()
{
using (CursorHelper ch = new CursorHelper(Cursors.WaitCursor))
{
// something that takes a long time to complete
}
}
这是否是using
语句的适当使用?
using
在其作用域结束时调用IDisposable.Dispose()
。我认为这种使用using
没有问题,但它可能是一种“不好”的IDisposable
使用方式吗? - Mathieu Guindon