Chapter 13 Quick Reference
To | Do this |
Write a destructor | Write a method whose name is the same as the name of the class and is prefixed with a tilde (~). The method must not have an access modifier (such as public) and cannot have any parameters or return a value. For example:
class Example { ~Example() { ... } } |
Call a destructor | You can't call a destructor. Only the garbage collector can call a destructor. |
Force garbage collection | Call System.GC.Collect. |
Release a resource at a known point in time | Write a disposal method (a method that disposes of a resource) and call it explicitly from the program. For example:
class TextReader { ... public virtual void Close() { ... } } class Example { void Use() { TextReader reader = ...; // use reader reader.Close(); } } |
Release a resource at a known point in time in an exception-safe manner | Release the resource with a using statement. For example:
class TextReader : IDisposable { ... public virtual void Dispose() { // calls Close } public virtual void Close() { ... } } class Example { void Use() { using (TextReader reader = ...) { // use reader } } } |