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方法.
文章转自庄周梦蝶 ,原文发布时间5.17