📄 class1.cs
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -