最近学习C#,到名空间这里遇到了问题,我在msdn上查看.net framework类库的时候发现有system名空间,就仔细看了看,一时间有了点兴趣,回来做了一个实验,结果就遇到了问题。如图,在左边的解决方案资源管理器窗口,引用里面我是没有添加任何引用的。如果右键点击可以找到system名空间。可是代码里面我直接using system,竟然可以运行成功。那么问题就是,这个system是那个名空间,他是怎么添加引用的呢。如果我想引用某一个名空间,我怎么知道正确的引用方法。
在网络上搜索了很多资料,最后我才明白了这个原因。在vs里面有一个对象浏览器窗口,如图。
这个里面显示程序已经引用的名空间,可以清楚的看见在system.core文件下有很多名空间。而且system.core.dll文件的路径也在右边显示的清清楚楚。在程序里面默认添加了system.core.dll和mscorlib.dll两个文件。如果点开mscorlib.dll对象浏览就会看见程序里面用到的Console类,这样就可以调用Console.writeline()方法了。如果在代码里面没有添加using system;语句程序就会说找不到Console类。
这下所有的思路就全部通顺了,当我们想引用某一个类时,应该将类库所在的文件引用到工程里面,在代码里面添加相应的名空间引用语句就可以了。而且,如果我们想了解某个类在那个文件,同样可以通过对象浏览器窗口找到相应的类定位所在的文件。
追究根本,在解决方案里面添加的引用是一个类库文件,一个类库文件包含很多名空间,而一个名空间包含很多类(数据结构)。这样的程序组织才会实现,在逻辑上,程序是面向对象的。在物理上是面向组件的编程。
C#名空间问题
最新推荐文章于 2019-09-03 10:58:00 发布