zoukankan      html  css  js  c++  java
  • 关于类资源的释放

    关于类资源的释放

    我们自定义的类并不像窗体类那样当窗体关闭时自动调用释放函数(实际上是重载基类函数)如下:
           /// <summary>
            /// 清理所有正在使用的资源。
            /// </summary>
            /// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
            protected override void Dispose(bool disposing)
            {
                if (disposing && (components != null))
                {
                    components.Dispose();
                }
                base.Dispose(disposing);
            }
    因为我们定义类的在窗体实例化时分配空间但当该窗体关闭时并没有释放该类,如果一个时时操作的C/S结构的系统.很容易使内存用完而死机.所以对类要做接口.如下:
    public  class LinkDataBase:IDisposable
        {
          //析构函数
       ~LinkDataBase()
           {
               Dispose(true);
           }
      public void Dispose()
           {
               Dispose(true);
              
           }
    /// <summary>
           /// 清理所有正在使用的资源。
           /// </summary>
           /// <param name="isDisposing">如果应释放托管资源,为 true;否则为 false</param>
           protected virtual void Dispose(bool isDisposing)
           {
               // Don't dispose more than one

               if (_alreadyDisposed)
                   return;
               if (isDisposing)
               {
                   GC.SuppressFinalize(this);
               }

               // TODO: free unmanaged resources here
               // Set disposed flag
               _alreadyDisposed = true;
     }
    这样当我们关闭实例化该的窗体时调用一下就行了,如下:
     LinkDataBase link = new LinkDataBase();
      private void configure_FormClosed(object sender, FormClosedEventArgs e)
            {
            l ink.Dispose();

            }

    记住该记住的,忘记该忘记的,改变能改变的,接受不能改变的!
  • 相关阅读:
    ASP.NET动态生成控件
    WGCLOUD如何禁用指令下发功能
    C#基于NAudio工具对Wav音频文件剪切(限PCM格式)
    C#多线程与多任务
    我的JQuery插件 Confirmer
    我的JQuery插件 submenu
    关于jQuery在asp.net中使用ajax的探讨
    发布jQuery表单验证插件 JQuery.validator.js
    TreeView递归绑定地区列表
    Uploadify(JQuery上传插件)在asp.net中使用例子
  • 原文地址:https://www.cnblogs.com/yuanermen/p/639245.html
Copyright © 2011-2022 走看看