110,546
社区成员
发帖
与我相关
我的任务
分享
int main()
{
{
Unmanagered resource("!!!!!"); //假设这里获得了资源,在Stack上
} // 这里自动调用析构,就释放掉了
}
using System;
public class TestClass1:IDisposable
{
public TestClass2 t2_;
public TestClass3 t3_;
public TestClass1()
{
t2_ = new TestClass2();
t3_ = new TestClass3();
}
public void Dispose()
{
Console.WriteLine("I'm the dispose in TestClass1");
}
~TestClass1()
{
Console.WriteLine("I'm the TestClass1 Finalizer!");
}
}
public class TestClass2:IDisposable
{
public void Dispose()
{
Console.WriteLine("I'm the dispose in TestClass2");
}
~TestClass2()
{
Console.WriteLine("I'm the TestClass2 Finalizer!");
}
}
public class TestClass3:IDisposable
{
public void Dispose()
{
Console.WriteLine("I'm the dispose in TestClass3");
}
~TestClass3()
{
Console.WriteLine("I'm the TestClass3 Finalizer!");
}
}
public class Program
{
public static void Main()
{
using ( TestClass1 ww = new TestClass1())
{
}
Console.ReadLine();
}
}
public class TestClass1 : IDisposable
{
public TestClass2 t2_;
public TestClass3 t3_;
public TestClass1()
{
t2_ = new TestClass2();
t3_ = new TestClass3();
}
public void Dispose()
{
Console.WriteLine("I'm the dispose in TestClass1");
t2_.Dispose();
t3_.Dispose();
}
}
public class TestClass1 : IDisposable
{
public TestClass2 t2_;
public TestClass3 t3_;
public TestClass1()
{
t2_ = new TestClass2();
t3_ = new TestClass3();
}
public void Dispose()
{
Console.WriteLine("I'm the dispose in TestClass1");
}
}
using System;
public class TestClass1
{
public TestClass2 t2_;
public TestClass3 t3_;
public TestClass1()
{
t2_ = new TestClass2();
t3_ = new TestClass3();
}
~TestClass1()
{
Console.WriteLine("I'm the dispose in TestClass1");
}
}
public class TestClass2
{
~TestClass2()
{
Console.WriteLine("I'm the dispose in TestClass2");
}
}
public class TestClass3
{
~TestClass3()
{
Console.WriteLine("I'm the dispose in TestClass3");
}
}
public class Program
{
public static void Main()
{
TestClass1 ww = new TestClass1();
}
}