小编S. *_*rws的帖子

微软处置模式结构的原因是什么?

微软建议的配置模式说Dispose()和终结器都应该调用虚拟的第三种方法Dispose(bool).所以它看起来像这样:

public class DisposeBase : IDisposable
{
    private bool _Disposed = false;

    public void Dispose()
    {
        Dispose(true);
        GC.SuppressFinalize(this);
    }

    ~DisposeBase()
    {
        Dispose(false);
    }

    protected virtual void Dispose(bool disposing)
    {
        if (!_Disposed)
        {
            if (disposing)
            {
                /* Get rid of managed resources */
            }

            /* Get rid of unmanaged resources */

            _Disposed = true;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

派生类将覆盖Dispose(bool).我想重组它有点像这样:

public abstract class ExtendableResourceHandlerBase : IDisposable
{
    private bool _Disposed = false;

    /* private resources managed and unmanaged */

    public void …
Run Code Online (Sandbox Code Playgroud)

c# design-patterns idisposable

2
推荐指数
1
解决办法
291
查看次数

标签 统计

c# ×1

design-patterns ×1

idisposable ×1