找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1076|回复: 0

[分享] .net中using的几种用途

[复制链接]

已领礼包: 859个

财富等级: 财运亨通

发表于 2014-5-30 07:25:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
http://zhangjidong.cnblogs.com/archive/2006/03/22/355854.html

.net中using的几种用途                 

今天一个朋友问我using有几种用途,我的第一反应就是茴香豆的4种写法,第2反应是肯定又是个面试题。
先前就是到using可以这样用:
1.引用命名空间,减少冗余代码。
Using System.Web.UI.WebControls;
2.即时释放资源。
Using (TestObject a = new TestObject())  {
// 使用对象
}
//对象资源被释放

不时说有3条吗?立马查了一下sdk
sdk里是这么说的:
=========================================================================================
using 指令有两个用途:
创建命名空间的别名(using 别名)。
允许在命名空间中使用类型,例如,不必限定该命名空间中的类型使用(using 指令)。
using [alias = ]class_or_namespace;
其中:
alias(可选)
希望表示命名空间的用户定义符号。之后,您就可以使用 alias 表示命名空间名。
class_or_namespace
希望使用或为其提供别名的命名空间名,或希望为其提供别名的类名。
备注
创建 using 别名以便更易于将标识符限定到命名空间或类。
创建 using 指令,以便在命名空间中使用类型而不必指定命名空间。using 指令不为您提供对可能嵌套在指定命名空间中的任何命名空间的访问。
命名空间分为两类:用户定义的命名空间和系统定义的命名空间。用户定义的命名空间是在代码中定义的命名空间。有关系统定义的命名空间的列表,请参见 .NET Framework 文档。
有关其他程序集中的引用方法的示例,请参见创建和使用 C# DLL。
示例
下面的示例显示了如何为命名空间定义和使用 using 别名:
// cs_using_directive.cs
using MyAlias = MyCompany.Proj.Nested;  // define an alias to represent a namespace namespace MyCompany.Proj
{
   public class MyClass
   {
      public static void DoNothing()
      {
      }
   }    namespace Nested   // a nested namespace
   {
      public class ClassInNestedNameSpace
      {
         public static void SayHello()
         {
            System.Console.WriteLine("Hello");
         }
      }
   } } public class UnNestedClass
{
   public static void Main()
   {
      MyAlias.ClassInNestedNameSpace.SayHello();   // using alias
   }
}
输出
Hello
示例
下面的示例显示了如何为类定义 using 指令和 using 别名:
// cs_using_directive2.cs
using System;   // using directive
using AliasToMyClass = NameSpace1.MyClass;   // using alias for a class namespace NameSpace1
{
   public class MyClass
   {
      public override string ToString()
      {
         return "You are in NameSpace1.MyClass";
      }
   }
} namespace NameSpace2
{
   class MyClass
   {
   }
} namespace NameSpace3
{
   using NameSpace1;   // using directive
   using NameSpace2;   // using directive    class Test
   {
      public static void Main()
      {
         AliasToMyClass somevar = new AliasToMyClass();
         Console.WriteLine(somevar);
      }
   }
}
输出
You are in NameSpace1.MyClass
=========================================================================================
所以再加上一条:
3.创建命名空间的别名(using 别名)。
using MyAlias = MyCompany.Proj.Nested;
“凑”了3条。


论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-12-18 23:56 , Processed in 0.364406 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表