知识大全 新手入门之 Visual C#命名空间详解
Posted 空间
篇首语:无论你有多少知识,假如不用便是一无所知。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 新手入门之 Visual C#命名空间详解相关的知识,希望对你有一定的参考价值。
新手入门之 Visual C#命名空间详解 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
命名空间提供了一种组织相关类和其他类型的方式 与文件或组件不同 命名空间是一种逻辑组合 而不是物理组合 在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 ;
因为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 ;
cha138/Article/program/net/201311/12441相关参考
详解VisualC#2010几大新特征 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一简介
VisualC#中编写多线程程序之起步 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! net将关
C#语言规范--1.12命名空间和程序集 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 除了依赖
在VisualC#中使用XML之编写XML 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!在我的上一
初入门道:VisualC#常用快捷键 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n
ASP.NET入门教程9.3命名空间 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n
ASP.NET入门教程12.3.2命名空间 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 
在net中有一个至关重要的关键字那就是using using一般有着以下几种用法 直接引入命名空间 ausingSystem这个是最常用的就是using+命名空间这样就可以直接使用命名空间中
C#高级编程:使用XPath命名空间中的类[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&n
C#高级编程:使用XPath命名空间中的类[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&n