思考、创新、坚持、执行

如果创新能改变人类的消费习惯,那么将对它所进入的领域产生深远影响,进而成就一家伟大的世界级企业;云翻译平台www.139fanyi.com.cn要去一切中心化

 

IDisposable

public class TypeDisposable: IDisposable
    {
        /**/
        /// <summary>
        /// 该对象是否已被销毁过
        /// </summary>
        private bool disposed;
        /**/
        /// <summary>
        /// 这就是传说中的 Finalize函数,是不是和C++的析构函数很像?
        /// </summary>
        ~TypeDisposable()
        {
            Console.WriteLine("对象被销毁");

            Dispose(false);
            Console.ReadLine();
        }

        public void Dispose()
        {
            Console.WriteLine("手动销毁对象");
            Dispose(true);
            //通知GC, 偶已经被销毁过了,可以不用在管偶了。。。
            GC.SuppressFinalize(this);
        }

        /**/
        /// <summary>
        /// Dispose
        /// </summary>
        /// <param name="disposing">是否由程序直接调用</param>
        protected void Dispose(bool disposing)
        {
            if (!disposed)
            {
                if (disposing)
                {
                    //该函数为手动调用,此处可进行托管资源的清理
                    //比如此类中有一个类型为 DataSet 的变量 dsData
                    //此处可调用该对象的 Dispose 方法来清理托管资源
                }

                //进行非管资源的清理
                //该类资源 GC 是无法管理的,只能依靠程序员自已释放
                //不同的资源, 释放方法不一样
            }
            disposed = true;
            Console.ReadLine();
        }
    }

posted on 2008-03-27 11:47  铭天  阅读(324)  评论(0编辑  收藏  举报

导航

中国翻译公司| 北京翻译公司| 北京翻译公司| 语通全球翻译公司| 同声传译|