Posted on 2007-02-12 15:53
dennis 阅读(728)
评论(0) 编辑 收藏 所属分类:
C#历程
C#的using语句设计的蛮贴心,比java的import有趣一点。转一篇文章.
C#中的using除了作为命名空间指示符(using System),类型的别名指示符(using Dos=System.Console),还有资源管理的语句功能:
using (R r1 = new R ()) {
r1.F();
}
在C#中被翻译为:
R r1 = new R();
try {
r1.F();
}
finally {
if (r1 != null) ((IDisposable)r1).Dispose();
}
r1当然要支持Dispose()方法了
再来一个例子:
# MyObject.cs
using
System;
namespace
MyProjects
{
public
class
MyObject : IDisposable
{
public
MyObject()
{
}
public
void
Dispose ( )
{
//
Dispose
Console.WriteLine (
"
Disposed
"
) ;
//
}
}
}
# Class1.cs
using
System;
namespace
MyProjects
{
public
class
Class1
{
public
Class1()
{
}
public
static
void
Main (
string
[] args )
{
using
( MyObject myObject
=
new
MyObject ( ) )
{
Console.WriteLine (
"
quit
"
) ;
}
}
}
}
使用using会自动调用MyObject的Dispose方法.