All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
PHP技巧:关于cookie和session的分析_[PHP教程]
ASP.NET2.0服务器控件开发之简单属性_[Asp.Net教程]
php获取客户端ip方法_php资料_编程技术
VS2005开发中Timer控件失效的解决方法_[Asp.Net教程]
C#中的类型相等与恒等(Equality,&,Identity)_[Asp.Net教程]
PHP取得客户端信息_[PHP教程]
AJAX实例入门_[AJAX教程]
在GridView数据源为空时也显示表头_[Asp.Net教程]
ASP.NET2.0连接SQL,Server数据库详解_[Asp.Net教程]
SQL初学者教程:学会使用SQL UPDATE语句_[SQL Server教程]
Reading number is top 10 pictures
Entered the goddess in the AD1
XuYing poker perspective garment debut
小学生考试又现神作--还有外国的
网上疯传的一篇小学作文《爸爸也治不了妈妈》
ashlynn brooke
Female star bikini
王艳写真温柔如水1
到底是谁撞谁呀?
Take you to walk into the most true north Korea rural3
The woman fight much more than men
Download software ranking
少妇苏霞全本
apache-tomcat-6.0.33
Tram sex maniac 2 (H) rar bag19
Love the forty days
Boxer vs Yellow3
Proficient in JavaScript
jdk1.5
VeryCD电驴(EasyMule) V1.1.9 Build09081
Boxer's Top ten classic battle9
linux初级教程
delv published in(发表于) 2014/1/10 6:30:08 Edit(编辑)
Visual,C#命名空间详解_[Asp.Net教程]

Visual,C#命名空间详解_[Asp.Net教程]

Visual C#命名空间详解_[Asp.Net教程]

命名空间提供了一种组织相关类和其他类型的方式。与文件或组件不同,命名空间是一种逻辑组合,而不是物理组合。在C#文件中定义类时,可以把它包括在命名空间定义中。以后,在定义另一个类,在另一个文件中执行相关操作时,就可以在同一个命名空间中包含它,创建一个逻辑组合,告诉使用类的其他开发人员这两个类是如何相关的以及如何使用它们:


namespace CustomerPhoneBookApp
{
 using System;
 public struct Subscriber
 {
  // Code for struct here...
 }
}

  把一个类型放在命名空间中,可以有效地给这个类型指定一个较长的名称,该名称包括类型的命名空间,后面是句点(.)和类的名称。在上面的例子中,Subscriber结构的全名是CustomerPhoneBookApp.Subscriber。这样,有相同短名的不同的类就可以在同一个程序中使用了。

  也可以在命名空间中嵌套其他命名空间,为类型创建层次结构:


namespace Wrox
{
 namespace ProCSharp
 {
  namespace Basics
  {
   class NamespaceExample
   {
    // Code for the class here...
   }
  }
 }
}

  每个命名空间名都由它所在命名空间的名称组成,这些名称用句点分隔开,首先是最外层的命名空间,最后是它自己的短名。所以ProfessionalCSharp命名空间的全名是Wrox.ProCSharp,NamespaceExample类的全名是Wrox.ProCSharp.Basics.NamespaceExample。

  使用这个语法也可以组织自己的命名空间定义中的命名空间,所以上面的代码也可以写为:


namespace Wrox.ProCSharp.Basics
{
 class NamespaceExample
 {
  // Code for the class here...
 }
}

  注意不允许在另一个嵌套的命名空间中声明多部分的命名空间。

  命名空间与程序集无关。同一个程序集中可以有不同的命名空间,也可以在不同的程序集中定义同一个命名空间中的类型。

  using语句

  显然,命名空间相当长,键入起来很繁琐,用这种方式指定某个特定的类也是不必要的。如本章开头所述,C#允许简写类的全名。为此,要在文件的顶部列出类的命名空间,前面加上using关键字。在文件的其他地方,就可以使用其类型名称来引用命名空间中的类型了:


using System;
using Wrox.ProCSharp;

  如前所述,所有的C#源代码都以语句using System;开头,这仅是因为Microsoft提供的许多有用的类都包含在System命名空间中。

  如果using指令引用的两个命名空间包含同名的类,就必须使用完整的名称(或者至少较长的名称),确保编译器知道访问哪个类型,例如,类NamespaceExample同时存在于Wrox.ProCSharp.Basics和Wrox.ProCSharp.OOP命名空间中,如果要在命名空间Wrox.ProCSharp中创建一个类Test,并在该类中实例化一个NamespaceExample类,就需要指定使用哪个类:


using Wrox.ProCSharp;
class Test
{
 public static int Main()
 {
  Basics.NamespaceExample nSEx = new Basics.NamespaceExample();
  //do something with the nSEx variable
  return 0;
 }
}

  因为using语句在C#文件的开头,C和C++也把#include放在这里,所以从C++迁移到C#的程序员常把命名空间与C++风格的头文件相混淆。不要犯这种错误,using语句在这些文件之间并没有真正建立物理链接。C#也没有对应于C++头文件的部分。

  公司应花一定的时间开发一种命名空间模式,这样其开发人员才能快速定位他们所需要的功能,而且公司内部使用的类名也不会与外部的类库相冲突。本章后面将介绍建立命名空间模式的规则和其他命名约定。

  命名空间的别名

  using关键字的另一个用途是给类和命名空间指定别名。如果命名空间的名称非常长,又要在代码中使用多次,但不希望该命名空间的名称包含在using指令中(例如,避免类名冲突),就可以给该命名空间指定一个别名,其语法如下:

  using alias = NamespaceName;

  下面的例子(前面例子的修订版本)给Wrox.ProCSharp.Basics命名空间指定别名Introduction,并使用这个别名实例化了一个NamespaceExample对象,这个对象是在该命名空间中定义的。它有一个方法GetNamespace(),该方法调用每个类都有的GetType()方法,以访问表示类的类型的Type对象。下面使用这个对象来返回类的命名空间名:


using System;
using Introduction = Wrox.ProCSharp.Basics;
class Test
{
 public static int Main()
 {
  Introduction.NamespaceExample NSEx =new Introduction.NamespaceExample();
  Console.WriteLine(NSEx.GetNamespace());
  return 0;
 }
}

namespace Wrox.ProCSharp.Basics
{
 class NamespaceExample
 {
  public string GetNamespace()
  {
   return this.GetType().Namespace;
  }
 }
}
来源:CSDN





添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.