#define Version2
using System;
//IDisposable接口是一个确认一个对象是否有释放模式的标记,
//有一些语句(如using语句)需要这个标记。
//定义一个范围,将在此范围之外释放一个或多个对象。
//using 语句允许程序员指定使用资源的对象应当何时释放资源。
//为 using 语句提供的对象必须实现 IDisposable 接口。此接口提供了 Dispose 方法,该方法将释放此对象的资源。
namespace Donis.CSharpBook
{
#if Version1
public class Starter
{
public static void Main()
{
using(ZClass obj1=new ZClass(),
obj2=new ZClass())
{
}
}
}
public class ZClass: IDisposable
{
public void Dispose()
{
Console.WriteLine("ZClass.Dispose");
}
}
#endif
#if Version2
public class Starter{
public static void Main(){
using(XClass obj3=new XClass())
using(ZClass obj1=new ZClass(),
obj2=new ZClass()) {
}
}
}
public class ZClass: IDisposable {
public void Dispose() {
Console.WriteLine("ZClass.Dispose");
}
}
public class XClass: IDisposable {
public void Dispose() {
Console.WriteLine("XClass.Dispose");
}
}
#endif
}