C# 中使用 IDisposable
在c#中,如果类使用了非托管资源,该类一般应该实现IDisposable接口来确保资源的正常释放。
一个类如果使用了非托管资源(例如使用了由C/C++DLL返回的对象,或者昂贵的资源需要尽快释放,一般需要实现IDisposable接口以便于类的使用者可以显示的释放资源。
案例说明:
Public class ResourceHolder : IDisposable
{
///<summary>
///Implemantation of the IDisposable interface
///</summary>
Public void Dispose()
{
// Call internal Dispose(bool)
Dispose(true);
// Prevent the destructor from being called
GC.SuppressFinalize(this);
}
}