implement IDisposable
Published: 26. September 2011 | Updated: 26. October 2011License: Microsoft Public License (MS-PL)
Categories: Implementations
Tags: C# Design Patterns
Snippet code shows how to correctly implement IDisposable interface
public class MyClass : IDisposable { private StringWriter _resource; private bool _disposed; public MyClass(StringWriter stringWriter) { _resource = stringWriter; } public void DoSomething() { if (_disposed) throw new ObjectDisposedException("Resource was disposed."); string text = _resource.ToString(); } public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } protected virtual void Dispose(bool disposing) { if (!_disposed) { if (disposing) { if (_resource != null) _resource.Dispose(); } _resource = null; _disposed = true; } } }
| Send us feedback about this snippet » |





