zoukankan      html  css  js  c++  java
  • 自定义类实现IDisposable接口

    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace finalize
    {
        
    class Program
        {
            
    static void Main(string[] args)
            {
                MyResource myone 
    = new MyResource();
                
                
    try 
                {
                                        
    //do something
                }
                
    finally
                {
                    myone.Dispose();
                    myone.Close();     
    //因为已经释放所以不执行动作
                    myone.Close();
                }
                
    using (MyResource mytwo = new MyResource())
                {
                                       
    //do something
                }
                Console.Read();
            }
        }
        
    public class MyResource : IDisposable
        {
            
    private bool IsDisposed;  //判断类是否被释放
            public void Dispose()
            {
                Dispose(
    true);       //调用Dispose(true)释放该类所引用对象的Dispose方法和类本身使用的非托管资源;
            }
            
    public void Close()
            {
                Dispose(
    true);
            }
            
    public void Dispose(bool disposing)
            {
                
    if (!this.IsDisposed)
                {
                    
    if (disposing)
                        Console.WriteLine(
    "此处释放该类所引用对象的Dispose方法");
                    Console.WriteLine(
    "此处释放类本身使用的非托管资源");
                    
    this.IsDisposed = true;
                    
    if (disposing)  
                        GC.SuppressFinalize(
    this);  //阻止终结器的调用
                }
            }
            
    ~MyResource()
            {
                Dispose(
    false);                    //析构函数释放非托管资源调用Dispose(false);
            }
        }
    }
  • 相关阅读:
    Linux LAMP架构搭建
    Linux 系统版本查询
    Linux 安装本地 yum源
    Linux 虚拟机安装vmware tools
    随记分页码
    flexigrid 修改json格式
    Asp.Net MVC及Web API框架配置会碰到的几个问题及解决方案
    web api 文档声明
    android UI
    Sending HTML Form Data
  • 原文地址:https://www.cnblogs.com/kakaliush/p/1899738.html
Copyright © 2011-2022 走看看