使用using会自动调用MyObject的Dispose方法.
如果MyObject未实现IDispose接口,则编译时会出错:无法将类型“MyProjects. MyObject”隐式转换为“System.IDisposable”
这种写法可替代
try
{ //... }
catch
{ }
finnaly
{ MyObject.Dispose ( ) ; }
代码片段:
private void openFileDialog_FileOk(object sender, System.ComponentModel.CancelEventArgs e)
{
string fullPathname = openFileDialog.FileName;
FileInfo src = new FileInfo(fullPathname);
filename.Text = src.Name;
source.Text = "";
using (TextReader reader = new StreamReader(fullPathname))
{
string line;
while ((line = reader.ReadLine()) != null)
{
source.Text += line + "/n";
}
}
}
其中的reader不再需要手写Close和Dispose方法了,using关键字实现了对象的自动关闭和资源释放!