惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
T
Threatpost
Latest news
Latest news
N
News | PayPal Newsroom
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Help Net Security
Help Net Security
D
Darknet – Hacking Tools, Hacker News & Cyber Security
AI
AI
Simon Willison's Weblog
Simon Willison's Weblog
TaoSecurity Blog
TaoSecurity Blog
The Last Watchdog
The Last Watchdog
L
LINUX DO - 热门话题
Google DeepMind News
Google DeepMind News
T
Threat Research - Cisco Blogs
O
OpenAI News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
The Exploit Database - CXSecurity.com
NISL@THU
NISL@THU
Application and Cybersecurity Blog
Application and Cybersecurity Blog
S
Securelist
小众软件
小众软件
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Martin Fowler
Martin Fowler
S
SegmentFault 最新的问题
Cisco Talos Blog
Cisco Talos Blog
云风的 BLOG
云风的 BLOG
AWS News Blog
AWS News Blog
GbyAI
GbyAI
N
News and Events Feed by Topic
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
美团技术团队
Engineering at Meta
Engineering at Meta
A
About on SuperTechFans
博客园 - 三生石上(FineUI控件)
S
Schneier on Security
博客园 - 聂微东
V2EX - 技术
V2EX - 技术
T
Troy Hunt's Blog
SecWiki News
SecWiki News
S
Secure Thoughts
B
Blog RSS Feed
Hugging Face - Blog
Hugging Face - Blog
WordPress大学
WordPress大学
腾讯CDC
H
Heimdal Security Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Apple Machine Learning Research
Apple Machine Learning Research
月光博客
月光博客
www.infosecurity-magazine.com
www.infosecurity-magazine.com
P
Privacy International News Feed

博客园 - kenty06

LINQ 查询Select LINQ之DataContext 数据上下文 Dedecms57 分页 dede:pagelist 说明 window service服务安装错误 C#简单类型转换说明 建立全文索引以及使用 Asp.net中防止用户多次登录的方法 VSS使用手册 开启全文索引 extJS初学小问题之js文件编码 - kenty06 - 博客园 希尔排序 VS2008加载包失败的解决方法 VS2005快捷键(转) 关于 odbc OdbcParameter参数问题 - kenty06 在 dotnet环境下使用 文件dsn - kenty06 关于枚举enum的tostring方法不能重写的一种替代方案 asp.net 2.0 学习点滴推荐(001) - kenty06 aspx页面事件顺序 - kenty06 - 博客园 C#中的default
命名空间基础知识 - kenty06 - 博客园
kenty06 · 2010-06-07 · via 博客园 - kenty06

命名空间基础知识

2010-06-07 07:48  kenty06  阅读(419)  评论()    收藏  举报

我们都知道,命名空间是为了减少不同的公司开发的类之间可能有同名的现象,以及组织类的一种方法。但是编译器对命名空间是怎么看的呢?

对于编译器来讲,它根本不知道命名空间为何物,例如下面这个简单的程序。

System.IO.FileInfo fi = new System.IO.FileInfo("");
System.Net.WebClient client = new System.Net.WebClient();
我们使用完全的名称来定义两个类。当然,微软为了我们能省点时间,给我们提供了using语法。

using System.IO;
using System.Net;
FileInfo fi = new FileInfo("");
WebClient client = new WebClient();

可是对于编译器来讲,他是不知道命名空间的,编译的时候,他就会根据类名,去程序集本身以及引用的程序集里面去找相应的类,如果没有找到,就会在类前面加上System.IO,再找,还没有,就会加上System.Net去找,这样就会找到相对于的类了。


所以对于那些两个命名空间里面有相同的类的时候,编译器就会提示出错,因为这样他是找不到的,所以编译就不能通过了。

例如对于 Timer 类,在命名空间,System.Threading,以及System.Timers都存在,如果有using这两个,那么Timer t = new Timer();就会出错,而如果是按照自动提示定义类,IDE就会根据using的顺序自动帮你加上命名空间,

using System.Timers;
using System.Threading;

 Timer t = new System.Timers.Timer();