KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
We all know that the using statement is really good for resources you want to cleanup in a timely manner, such as an open file or database connection. I was wondering if it would be considered a good thing to use the statement in cases where resources cleanup isn't the goal of the Dispose() method, but rather resetting to a previous state. For example, a class that allows a using statement to wrap a procedure that takes a noticeable amount of time and changes the Cursor to a waiting state. class CursorHelper : IDisposable { readonly Cursor _previousState; public CursorHelper(Cursor newState) { _previousState = Cursor.Current; Cursor.Current = newState; } public void Dispose() { Cursor.Current = _previousState; } } Then the class can be used as such, without worrying about reverting the Cursor when your are done. public void TimeIntensiveMethod() { using (CursorHelper ch = new CursorHelper(Cursors.WaitCursor)) { // something that takes a long time to complete } } Is this an appropriate use of the using statement?
Tags (comma-separated)
Save Edits
Cancel