c#里面的namespace基础(一)
我现在感到学好C#就是就是要知道,C#的基本语法,C#的新的特点,C#能干什么!
其中我感到不管如何,NAMESPACE都是很关键的,可以说不是只对C#而言,而是整个。NET都是由NAMESPACE组成的,所以我在看了C#的基本语法后,就直奔NAMESPACE来了,在这里写下自己的一些感觉,希望能对后面学习的人有所帮助。
NAMESPACE在新的NET环境下编程可以说是无所不在,总之,给我的感觉就是MS的新一代的语言的核心就是NAMESPACE,我们可以通过已经有的NAMESPACE,做我们想做的和愿意做的,当然如果你感觉现有的还不够你的使用的话,你也可以自己来使用现有的来扩展,创建自己的NAMESPACE!(感觉怎么很象以前的COM、DCOM呢?)
下面我门说说如何建立一个NAMESPACE!
定义一个NAMESPACE首先需要包含关键词:namespace
格式如下:
namespace Your_nsname
{
//namespase主体内容;
}
呵呵,给我的感觉就好象和Class或Struct一样。不过他们除了形式有类似外,确实在很多方面都不相同,具体我们以后会慢慢说到!先往下看。。。
在一个NAMESPACE的主体内,可以引用其他的NAMESPACE!例如:
namespace Your_nsname{
//下面引用System和System.Xml着两个NAMESPACE;
using System;
using System.Xml;
//namespase主体内容;
}
在上面有一个需要注意的就是,如果要引用NAMESPACE的话,那么应该在申明其它类型前引用,如下是错误的:
namespace Your_nsname{
//其它一些内容;
//由于引用System和System.Xml放到了其它语句之后,所以。。。
using System;
using System.Xml;
}
另外对于NAMESPACE还有一个有趣的地方,就是。。。
我们先看一下下面的的两个方式:
方式一、
namespace N1.N2
{ class A {}
class B {}
}
方式二、
namespace N1
{
namespace N2
{
class A {}
class B {}
}
}
在上面的良种方式中,第二种很容易就能看懂,是在NAMESPACE N1中再创建一个NAMESPACE N2,而N2中有两个类(class)A、B!那么第一种呢?其实上面两个方式定义的其实是一模一样的。NAMESPACE是可以嵌套定义的,我们可以使用第二种方式,层次感觉比较清楚,也可以使用第一种方式,所不同的是,第一中方式中,在N1和N2之间必须用分隔符“.”来表明他们两者之间的层次关系!
在使用的时候用如下的方式:
N1.N2.A;
N1.N2.B;
c#里面的namespace基础(一)的更多相关文章
- java里面的package/import 和PHP里面的namespace/use 是一模一样的吗
java里面的package/import 和PHP里面的namespace/use 是一模一样的吗? java: php package mypage; namespace mypage; impo ...
- PHP---------PHP函数里面的static静态变量
工作一年了,一年里很少用到static这个关键词,不管是类里面还是方法里面基本都没怎么用过.平时看到类里面有这个都没什么好奇的,今天在函数里面看到了这个,就去百度了一下. <?phpfuncti ...
- 学习hash_map从而了解如何写stl里面的hash函数和equal或者compare函数
---恢复内容开始--- 看到同事用unordered_map了所以找个帖子学习学习 http://blog.sina.com.cn/s/blog_4c98b9600100audq.html (一)为 ...
- spring源码分析-core.io包里面的类
前些日子看<深入理解javaweb开发>时,看到第一章java的io流,发觉自己对io流真的不是很熟悉.然后看了下JDK1.7中io包的一点点代码,又看了org.springframewo ...
- m_Orchestrate learning system---二十四、thinkphp里面的ajax如何使用
m_Orchestrate learning system---二十四.thinkphp里面的ajax如何使用 一.总结 一句话总结:其实ajax非常简单:前台要做的事情就是发送ajax请求过来,后台 ...
- 图解Go里面的sync.Map了解编程语言核心实现源码
基础筑基 在大多数语言中原始map都不是一个线程安全的数据结构,那如果要在多个线程或者goroutine中对线程进行更改就需要加锁,除了加1个大锁,不同的语言还有不同的优化方式, 像在java和go这 ...
- mybatis 的 dao 接口跟 xml 文件里面的 sql 是如何建立关系的?一步步解析
序言 在开始正文之前,首先解释Dao接口和XML文件里的SQL是如何一一对应的? 一句话讲完就是:mybatis 会先解析这些xml 文件,通过 xml 文件里面的命名空间 (namespace)跟d ...
- 方阵里面的dp
打了一场luogu的信心赛,惊讶地发现我不会T2,感觉像这样在矩阵里面的dp看起来很套路的样子,但是仔细想想还是有很多需要注意的细节. 又想到之前貌似也考过一些类似的题目 然而我并没有改 ,于是打算补 ...
- Activity往另外一个Activity传值,Fragment获取另外一个Activity里面的值。
在oneActivity中实现跳转到MainActivity //intent 用来跳转另外一个MainActivity,bundle传值到MainActivity Intent Ma ...
随机推荐
- beego 0.9.0 中智能路由AutoRouter的使用方法及源码解读
了解beego的开发者肯定知道,beego的路由设计来源于sinatra,原来是不支持自动路由的,每一个路由都要自己配置的,如: type MainController struct { beego. ...
- oracle 11g行转列 列转行
行转列: SELECT * FROM src_table UNPIVOT (param_value FOR param_name IN (product_color AS 'product ...
- CSS3属性box-shadow使用教程,css3box-shadow
CSS3的box-shadow属性可以让我们轻松实现图层阴影效果.我们来实战详解一下这个属性. 1. box-shadow属性的浏览器兼容性先来看一个这个属性的浏览器兼容性: Opera: 不知道是从 ...
- 【BZOJ】【2982】Combination
排列组合 Lucas定理模板题…… 感觉我做题顺序有点问题啊……应该是BZOJ 2982-->HDOJ 3037-->BZOJ 1272 好吧这个现在来看就有些水了…… 预处理一下fact ...
- PAT-乙级-1051. 复数乘法 (15)
1051. 复数乘法 (15) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 复数可以写成(A + Bi)的常规 ...
- PHP 开发中的外围资源性能分析(二)
暂且不讨论「PHP 是不是最好的编程语言」,本文我们将分别分析一下在 PHP 程序的后端外围资源和前端外围资源,它们对整个 PHP Web 应用体验的影响,这往往比语言本身大得多. 上一篇中我们分析了 ...
- .NET基础篇——Entity Framework 数据转换层通用类
在实现基础的三层开发的时候,大家时常会在数据层对每个实体进行CRUD的操作,其中存在相当多的重复代码.为了减少重复代码的出现,通常都会定义一个共用类,实现相似的操作,下面为大家介绍一下Entity F ...
- 2013年山东省第四届ACM大学生程序设计竞赛 Alice and Bob
Alice and Bob Time Limit: 1000ms Memory limit: 65536K 题目描述 Alice and Bob like playing games very ...
- Android 一个Activity保存它自己的实例
一个Activity保存他自己的实例的作用是,在其他Activity中可以方便的调用该Activity里的方法. 我们可以使用一个静态的变量保存当前Activity的实例,并将其标志为private访 ...
- VBScript 函数
Date/Time 函数 Conversion 函数 Format 函数 Math 函数 Array 函数 String 函数 其他函数 Date/Time 函数 函数 描述 CDate 把一个有效的 ...