using的三种用法【鸡蛋】

来源:互联网 发布:淘宝装修html代码 编辑:程序博客网 时间:2024/05/01 17:49

作为指令:

1、导入其它命名空间中定义的类型,这样,您就不必在该命名空间中限定某个类型的使用,就是最常用的导入命名空间如

using System;using System.Collections.Generic;using System.Data;using System.Data.SqlClient;using Solution.Common;using Solution.Entity;


2、为命名空间或类型创建别名如:

      (1)为命名空间取别名

namespace PC{    // Define an alias for the nested namespace.    using Project = PC.MyCompany.Project;    class A    {        void M()        {            // Use the alias            Project.MyClass mc = new Project.MyClass();        }    }    namespace MyCompany    {        namespace Project        {            public class MyClass { }        }    }}
(2)为类去别名,右边不能有开放式泛型类型list<T>,必须会LIST<INT>这种
using System;// Using alias directive for a class.using AliasToMyClass = NameSpace1.MyClass;// Using alias directive for a generic class.using UsingAlias = NameSpace2.MyClass<int>;namespace NameSpace1{    public class MyClass    {        public override string ToString()        {            return "You are in NameSpace1.MyClass.";        }    }}namespace NameSpace2{    class MyClass<T>    {        public override string ToString()        {            return "You are in NameSpace2.MyClass.";        }    }}namespace NameSpace3{    // Using directive:    using NameSpace1;    // Using directive:    using NameSpace2;    class MainClass    {        static void Main()        {            AliasToMyClass instance1 = new AliasToMyClass();            Console.WriteLine(instance1);            UsingAlias instance2 = new UsingAlias();            Console.WriteLine(instance2);        }    }}
 

作为语句:

提供一种能确保正确使用Idisposable对象的比较方便的语法;(idisposable接口有一个方法DIspose()我们一般用它释放对象占用的资源)!

它定义了一个范围,在此范围内的末尾将执行dispose方法(即使范围内发生异常也会执行dispose()方法)!

语法为:

using (Font font1 =new Font("Arial", 10.0f))

{

   byte charset = font1.GdiCharSet;

}

我们也可以同时定义多个对象,using(font font1=new font("aaa",10.0f),font2=new ("bbb",10.2f))

其实,这个语法编译后实现的效果和

{  Font font1 = new Font("Arial", 10.0f);  try  {    byte charset = font1.GdiCharSet;  }  finally  {    if (font1 != null)      ((IDisposable)font1).Dispose();  }}实现的效果是一样的!



原创粉丝点击