"Dispoable pattern with c#4.0 & vs2010" (可使用C# 4.0和VS2010的可处理模式)
"Dispoable pattern with c#4.0 & vs2010" (可使用C# 4.0和VS2010的可处理模式)
这个问题已经有了答案:
可能是重复的问题:
我该如何正确实现可处理模式(IDisposable接口)与vs2010和c#4? 一个快速的例子和一个重要的提示会很好。
我知道有c#2的例子,但更多地是问c#4的。
编辑:好的,请删除这个问题(我不能)。我现在看到,关于对象处理方面,从c#2.0到4.0没有任何改变。
admin 更改状态以发布 2023年5月20日
基本模式。
////// Dispose Method /// public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } ////// Deconstructor /// ~[PutYourClassHere]() { Dispose(false); } ////// IDisposable Implementation /// /// Disposing Flag protected virtual void Dispose(bool disposing) { if (disposing) { //Free Managed Resources } //Free Native Resources }
与以前版本的C#一样。建议的模式沿着这些线路进行:
class MyClass : IDisposable { ~MyClass() { Dispose(false); } public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } private bool disposed = false; protected virtual void Dispose(bool disposing) { if (!disposed) { if (disposing) { // Dispose managed resources } // Dispose unmanaged resources disposed = true; } } }
详情请参见此MSDN页面。