C# 学习笔记-关于自定义类释放资源的操作

自定义类型释放资源

当自定义类型中包含有serialport、form等类型需要执行完后释放资源是,由于自定义类型未做释放,系统会提示报错,而且容易造成资源暂用。
解决方法是让自定义类型继承IDisposable接口,然后更改dispose方法释放资源。

继承接口:

public class Machine : IDisposable

然后重新dispose方法,注意需要重写两个资源。

        /// 
        /// 释放资源
        /// 此方法是需要填写的,要声明未protected、virtual类型,同时需要添加bool类型参数
        /// 
        /// 
        protected virtual void Dispose(bool disposing)
        {
            if (disposing)
            {
                serialPort.Dispose();
            }
        }

        /// 
        /// 释放资源
        /// 调用dispose进行资源释放
        /// 
        public void Dispose()
        {
            Dispose(true);  //调用释放资源
            GC.SuppressFinalize(this);  //系统资源垃圾桶资源回收
        }
    }
``

你可能感兴趣的:(自定义,dispose,释放资源)