using System;
namespace Destructor
{
class ClassA {
public ClassA() {
Console.WriteLine("ClassA构造函数");
}
~ClassA() {
Console.WriteLine("ClassA析构函数");
}
}
class ClassB
{
public ClassB()
{
Console.WriteLine("ClassB构造函数");
}
~ClassB()
{
Console.WriteLine("ClassB析构函数");
}
public void CreateObject()
{
Console.WriteLine("进入ClassB.CreateObject()");
ClassA classA = new ClassA();
Console.WriteLine("退出ClassB.CreateObject()");
}
}
class Test
{
static void Main(string[] args)
{
Console.WriteLine("进入Main");
ClassB classB = new ClassB();
classB.CreateObject();
Console.WriteLine("退出Main");
GC.Collect();
}
}
}
为什么只显示了ClassA析构函数,ClassB析构函数不显示?
环境:visual studio 2019
运行方式 ctrl+f5