欢迎来到天天文库
浏览记录
ID:9881582
大小:47.00 KB
页数:6页
时间:2018-05-13
《c#中using关键字的作用及其用法》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、C#中using关键字的作用及其用法分类:usingusing用法2012-05-2209:043855人阅读评论(4)收藏举报c#datasetresourcesobjectnullcompilerC#中using关键字的作用及其用法using的用途和使用技巧。using关键字微软MSDN上解释总共有三种用途:1、引用命名空间。2、为命名空间或类型创建别名。3、使用using语句。1、引用命名空间,这样就可以直接在程序中引用命名空间的类型而不必指定详细的命名空间。这个就不用说了吧,比如大家最常用的:usingSystem.
2、Text;2、为命名空间或类型创建别名:当同一个cs引用了不同的命名空间,但这些命名控件都包括了一个相同名字的类型的时候,可以使用using关键字来创建别名,这样会使代码更简洁。注意:并不是说两个名字重复,给其中一个用了别名,另外一个就不需要用别名了,如果两个都要使用,则两个都需要用using来定义别名的。[csharp]viewplaincopyusingSystem;usingaClass=NameSpace1.MyClass;usingbClass=NameSpace2.MyClass;......//使用方式aCla
3、ssmy1=newaClass();Console.WriteLine(my1);bClassmy2=newbClass();Console.WriteLine(my2);3、使用using语句,定义一个范围,在范围结束时处理对象。(不过该对象必须实现了IDisposable接口)。其功能和try,catch,Finally完全相同。比如:[csharp]viewplaincopyusing(SqlConnectioncn=newSqlConnection(SqlConnectionString)){......}//数据库
4、连接using(SqlDataReaderdr=db.GetDataReader(sql)){......}//DataReaderPS:这里SqlConnection和SqlDataReader对象都默认实现了IDisposable接口,如果是自己写的类,那就要自己手动来实现IDisposable接口。比如:using(Employeeemp=newEmployee(userCode)){......}Emlpoyee.cs类:publicclassEmployee:IDisposable{实现IDisposable接口#
5、region实现IDisposable接口/**///////通过实现IDisposable接口释放资源///publicvoidDispose(){Dispose(true);GC.SuppressFinalize(this);}/**///////释放资源实现//////protectedvirtualvoidDispose(booldisposing){if(!m_disposed)
6、{if(disposing){//Releasemanagedresourcesif(db!=null)this.db.Dispose();if(dt!=null)this.dt.Dispose();this._CurrentPosition=null;this._Department=null;this._EmployeeCode=null;}//Releaseunmanagedresourcesm_disposed=true;}}/**///////析构函数///~Employee(
7、){Dispose(false);}privateboolm_disposed;#endregion}使用using语句需要注意的几点:3.1、对象必须实现IDisposeable接口,这个已经说过,如果没有实现编译器会报错误。如:[csharp]viewplaincopyusing(stringstrMsg="MyTest"){Debug.WriteLine(strMsg);//Can'tbecompiled}3.2、第二个using对象检查是静态类型检查,并不支持运行时类型检查,因此如下形式也会出现编译错误。[cshar
8、p]viewplaincopySqlConnectionsqlConn=newSqlConnection(yourConnectionString);objectobjConn=sqlConn;using(objConn){Debug.WriteLine(objConn.ToString(
此文档下载收益归作者所有