[C#基语法]之C#命名空间(namespace)
2016-09-19 10:02
281 查看
我对命名空间的一些想法
说到这个,我相信只要有点C#基础的人都会很清楚的说,这个我知道,这个我理解。这个不就是一个命名空间吗?用Java程序员的话说就是一个包名。
如果您真的认同以上说法那我以不幸的告诉你,你还真应该深入学习一下了。
我提几点大家看看有没有道理
1.命名空间的定义是有一个规范的。不是随便起的。
详细的等下再说
2.命名空间的导入是与添加引用息息相关的。
3.命名空间之间的类或者是对象是相对独立的。
4.命名空间是可以用别名的。
这些不知道大家知道吗?
下面我一个一个的来分析一下
1.命名空间的定义是有一个规范的。不是随便起的。
这个名字可不是乱起的,是要有一定规范的,那有人会问乱起呢,乱起当然不会影响程序执行,但是你的程序会变的很可怕。
这里我给大家提个醒,给一些类分配命名空间时一定要让他们有相同之处才可以分在一起
2.命名空间的导入是与添加引用息息相关的
有时候我们会发现在引用一个命名空间之后是无效的,还是提示没有导入相应的命名空间,比如我们在Winform下写了这样一个方法
[C#] 纯文本查看 复制代码
?
生成一下
大家会说HttpUtility不是明明在using System.Web;下面吗?我都引用了怎么还报错。
这种情况其实很常见,原因就是我们只引用的命名空间,但并没有添加引用。
因为在Cs项目 中默认的是不加载using System.Web;这个命名空间的。
所以我们要手动的添加一个引用才可以
方法如下
找到这个命名空间
然后这时再引用一下就行了
这样就可以使用这两个方法了。
所以并不是Cs下的类库不能被Bs调用,而是我们没有导入命名空间的问题。这点大家一定要注意哦
3.命名空间之间的类或者是对象是相对独立的
这一点我就不过多的说了,因为大家都知道在不同的名命名空间里呀类名是可以重复的。只要在引用时使用不同的命名空间名称进行区分就行了
4.命名空间是可以用别名的
这一点我想以一个例子来说明
看下面代码
NameClass类
[C#] 纯文本查看 复制代码
?
Blogs类代码如下
[C#] 纯文本查看 复制代码
?
主程序代码如下
[C#] 纯文本查看 复制代码
?
执行后如下
好了这一个例子什么都说明了。说明是可以起别名的
我个人认为了解到这些基本上就够了。其他 的可以在学习和工作中逐步的去深入
说到这个,我相信只要有点C#基础的人都会很清楚的说,这个我知道,这个我理解。这个不就是一个命名空间吗?用Java程序员的话说就是一个包名。
如果您真的认同以上说法那我以不幸的告诉你,你还真应该深入学习一下了。
我提几点大家看看有没有道理
1.命名空间的定义是有一个规范的。不是随便起的。
详细的等下再说
2.命名空间的导入是与添加引用息息相关的。
3.命名空间之间的类或者是对象是相对独立的。
4.命名空间是可以用别名的。
这些不知道大家知道吗?
下面我一个一个的来分析一下
1.命名空间的定义是有一个规范的。不是随便起的。
这个名字可不是乱起的,是要有一定规范的,那有人会问乱起呢,乱起当然不会影响程序执行,但是你的程序会变的很可怕。
这里我给大家提个醒,给一些类分配命名空间时一定要让他们有相同之处才可以分在一起
2.命名空间的导入是与添加引用息息相关的
有时候我们会发现在引用一个命名空间之后是无效的,还是提示没有导入相应的命名空间,比如我们在Winform下写了这样一个方法
[C#] 纯文本查看 复制代码
?
大家会说HttpUtility不是明明在using System.Web;下面吗?我都引用了怎么还报错。
这种情况其实很常见,原因就是我们只引用的命名空间,但并没有添加引用。
因为在Cs项目 中默认的是不加载using System.Web;这个命名空间的。
所以我们要手动的添加一个引用才可以
方法如下
找到这个命名空间
然后这时再引用一下就行了
这样就可以使用这两个方法了。
所以并不是Cs下的类库不能被Bs调用,而是我们没有导入命名空间的问题。这点大家一定要注意哦
3.命名空间之间的类或者是对象是相对独立的
这一点我就不过多的说了,因为大家都知道在不同的名命名空间里呀类名是可以重复的。只要在引用时使用不同的命名空间名称进行区分就行了
4.命名空间是可以用别名的
这一点我想以一个例子来说明
看下面代码
NameClass类
[C#] 纯文本查看 复制代码
?
[C#] 纯文本查看 复制代码
?
[C#] 纯文本查看 复制代码
?
好了这一个例子什么都说明了。说明是可以起别名的
我个人认为了解到这些基本上就够了。其他 的可以在学习和工作中逐步的去深入
相关文章推荐
- c#调用COM组件
- C#实现把指定数据写入串口
- C#动态创建button的方法
- Flex Namespace的用法
- C#中抽象方法与虚拟方法的区别
- c#中虚函数的相关使用方法
- C#实现给图片加水印的方法
- C#使用加边法计算行列式的值
- C#实现多线程的同步方法实例分析
- C#中尾递归的使用、优化及编译器优化
- C#中的delegate委托类型基本学习教程
- C#实现子窗体与父窗体通信方法实例总结
- C#通用邮件发送类分享
- 举例讲解C#中自动实现的属性
- C#中this的用法集锦
- C#数据结构之顺序表(SeqList)实例详解
- C#.NET获取拨号连接的宽带连接方法
- C#实现导出List数据到xml文件的方法【附demo源码下载】
- C#异步绑定数据实现方法
- C#实现AddRange为数组添加多个元素的方法