ASPNET中using的用法using指令using + 命名空间名字这样可以在程序中直接用命令空间中的类型而不必指定类型的详细命名空间类似于Java的import这个功能也是最常用的几乎每个cs的程序都会用到
例如using System;
using SystemData;
ASPNET中using的用法using语句定义一个范围在范围结束时处理对象
场景
当在某个代码段中使用了类的实例而希望无论因为什么原因只要离开了这个代码段就自动调用这个类实例的Dispose
要达到这样的目的用trycatch来捕捉异常也是可以的但用using也很方便
例如
public static DataTable GetTable(string sql int executeTimeOut string connStringName)
{
DataTable dtRet = new DataTable();
using (SqlConnection sc = new SqlConnection(connStringName))
{
using (SqlDataAdapter sqa = new SqlDataAdapter(sql sc))
{
sqaSelectCommandCommandTimeout = executeTimeOut;
sqaFill(dtRet);
return dtRet;
}
}
}
ASPNET中using的用法using别名using + 别名 = 包括详细命名空间信息的具体的类型
这种做法有个好处就是当同一个cs引用了两个不同的命名空间但两个命名空间都包括了一个相同名字的类型的时候当需要用到这个类型的时候就每个地方都要用详细命名空间的办法来区分这些相同名字的类型而用别名的方法会更简洁用到哪个类就给哪个类做别名声明就可以了注意并不是说两个名字重复给其中一个用了别名另外一个就不需要用别名了如果两个都要使用则两个都需要用using来定义别名的
例如
using System;
using SystemCollectionsGeneric;
using SystemLinq;
using SystemText;
using aClass = ConsoleApplicationMyClass;
using bClass = ConsoleApplicationMyClass;
namespace ConsoleApplication
{
public class MyClass
{
public override string ToString()
{
return You are in ConsoleApplicationMyClass;
}
}
class TestUsing
{
}
}
namespace ConsoleApplication
{
class MyClass
{
public override string ToString()
{
return You are in ConsoleApplicationMyClass;
}
}
}
namespace TestUsing
{
using ConsoleApplication;
using ConsoleApplication;
class ClassTestUsing
{
static void Main()
{
aClass my = new aClass();
ConsoleWriteLine(my);
bClass my = new bClass();
ConsoleWriteLine(my);
ConsoleWriteLine(ress any key);
ConsoleRead();
}
}
}