博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

一章:概述(Part 1)

Posted on 2011-07-04 13:44  ritazhou  阅读(178)  评论(0编辑  收藏  举报

c#是一种区分大小写的语言。

采用命令行CSC.EXE 编译程序。

IDisposable模式

C#中的昂贵资源比如打开文件的句柄,连接数据库等,都需要通过手工调用IDisposable.Dispose()去释放。并且using语句可以帮助用户及时调用Dispose方法。

等于在try..catch块中finally中调用该方法。

    public class Demo : IDisposable
    {

        private bool disposed = false;
        #region IDisposable Members


        public void Dispose()
        {
            //the value is true means the dispose method is called by user directly.
            Dispose(true);

            //This object will be cleaned up by the Dispose method. Therefore, you should call GC.SupressFinalize to take this object
            //off the finalization queue and prevent finalization code for this object from executing a second time.
            GC.SuppressFinalize(this);
        }

        private void Dispose(bool disposing)
        {
            if (disposed)
            {
                return;
            }
            if (disposing)
            {
                //release managed resources.

            }
            //release unmanaged resources

            disposed = true;
        }

        ~Demo()
        {
            Dispose(false);
        }
        #endregion
    }