class1.cs

来自「C#开发教程 由浅入深 配有实例 是初学者的好帮手」· CS 代码 · 共 47 行

CS
47
字号
using System;

namespace DerivedDispose
{
    public class Thing : IDisposable
    {
        protected string name;
        public Thing(string name) { this.name = name; }
        override public string ToString() { return name; }
        ~Thing() { Dispose(); Console.WriteLine("~Thing()"); }
        public void Dispose() 
        { 
            Console.WriteLine("Thing.Dispose()"); 
            GC.SuppressFinalize(this);
        }
    }
    public class SonOfThing : Thing, IDisposable
    {
        public SonOfThing(string name) : base(name) { }
        override public string ToString() { return name; }
        ~SonOfThing() 
        { Dispose(); Console.WriteLine("~SonOfThing()"); }
        new public void Dispose()
        { 
            Console.WriteLine("SonOfThing.Dispose()"); 
            base.Dispose();
            GC.SuppressFinalize(this);
        }
    }

    class DerivedDisposeApp
    {
        [STAThread]
        static void Main(string[] args)
        {
            DoSomething();
        }

        static void DoSomething()
        {
            SonOfThing s = new SonOfThing("Bar");
            Console.WriteLine(s);
            s.Dispose();
        }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?