https://blog.csdn.net/Mona_Zhao/article/details/91363446
using关键字的三种作用:
1. 引用命名空间;
2. 为命名空间或者类型创建别名;
3. 使用using语句。
(1)引用命名空间
类似于c和c++的#include<>, python的import,都是在程序中引入命名空间的类型,而不必制定类型详细的命名空间。
使用方法为:using + 命名空间名称;
(2)为命名空间或者类型创建别名
使用方法为:using + 别名 = 包括详细命名空间信息的具体的类型;s
using System; //引用命名空间
using aClass = test1.MyClass; //创建别名
using bClass = test2.MyClass; //创建别名
namespace test1
{
public class MyClass
{
public override string ToString()
{
return "You are in test1.MyClass";
}
}
}
namespace test2
{
class MyClass
{
public override string ToString()
{
return "You are in test2.MyClass";
}
}
}
(3)使用using语句
使用方法:
//首先test和test2类必须实现IDisposable接口
//using关键字的使用方法
using (test t = new test())
{
........
}
//多个using关键字的使用方法
using (new test()) using (new test2())
{
.........
}
using关键字要求小括号内的对象必须实现IDisposable接口或者其基类实现了IDisposable接口,如果没有实现此接口,那么在编译时就会出现错误。在using关键字下面的代码块执行完毕后,会自动将test对象隐式转换为IDisposable接口类型,并调用接口方法dispose释放对象资源。
using的实质: 在程序编译阶段,编译器会自动将using语句生成为try-finally语句,并在finally块中调用对象的Dispose方法,来清理资源。所以,using语句等效于try-finally语句。