社区
C#
帖子详情
谁能解释一下命名空间到底是什么玩意?
5200
2003-08-30 01:47:50
我知道什么是类,就是对命名空间还是搞不太清楚,教程上又说得一塌糊涂,谁能用通俗易懂的语言说一说它和类有什么区别哦,是不是必须要用不用不行吗?
...全文
64
6
打赏
收藏
谁能解释一下命名空间到底是什么玩意?
我知道什么是类,就是对命名空间还是搞不太清楚,教程上又说得一塌糊涂,谁能用通俗易懂的语言说一说它和类有什么区别哦,是不是必须要用不用不行吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
雪狼1234567
2003-08-30
打赏
举报
回复
1.12 名字空间(Namespaces)
我们在前面已对namespace花了不少笔墨(俺都忘了该如何接上了!O.K.请大家看完再倒)。我们曾经说“i not
like the hello world”。但是在程序中要经常说就会很累,如果要在别的代码中用就更繁了,这时可以用
namespace搭救。我把第一个例子切开,代码如下:*/
namespace MyOpinion
{
public class Message
{
public string GetMessage() {
return "i dont like Hello world";
}
}
}
/*
如果我想用namespace建立一个自己的库,就要对我的自定义函数和类进行分类,并填入相应的namespace中。
如:*/
namespace Mylib.Csharp.MyOpinion
{
public class Message
{
public string GetMessage() {
return "i dont like Hello world";
}
}
}
/*
namespace是分等级的,“Mylib.Csharp.MyOpinion”其实是缩写,每个“.”后面的namespace都被它前面的包
含。如果拆开:*/
namespace Mylib
{
namespace Csharp
{
namespace MyOpinion
{....}
}
}
/*
然后,我们就可以用自己的库了:*/
using Mylib.Csharp.MyOpinion;
class test
{
static void Main() {
Message m = new Message();
System.Console.WriteLine(m.GetMessage());
}
}
/*
不过无论我们命名如何小心都会出现重名,即命名冲突。这时可以用别名来解决,比如上面的代码可以这样:*/
using MessageSource = Mylib.Csharp.MyOpinion;
class test
{
static void Main() {
MessageSource m = new MessageSource();
System.Console.WriteLine(m.GetMessage());
}
rouser
2003-08-30
打赏
举报
回复
簡單地說就象我們的名字一樣
你祖上姓“王”你就必需是“王”這個名字空間下的
當然你可以有自己的子名字空間“小二”
那麼別人認你的時候就會以完整的名字空間“王小二”來認識你了
在.Net中,以"."來連接父名字空間和子名字空間,當然,子名字空間下面還可以有子
名字空間
namhyuk
2003-08-30
打赏
举报
回复
就是类名的扩展呗,还有什么?
panyee
2003-08-30
打赏
举报
回复
命名命名空间时的一般性规则是使用公司名称,后跟技术名称和可选的功能与设计,如下所示。
CompanyName.TechnologyName[.Feature][.Design]
例如:
Microsoft.Media
Microsoft.Media.Design
给命名空间名称加上公司名称或者其他知名商标的前缀可以避免两个已经发布的命名空间名称相同的可能性。例如,Microsoft.Office 是由 Microsoft 提供的 Office Automation Classes 的一个适当的前缀。
在第二级分层名称上使用稳定的、公认的技术名称。将组织层次架构用作命名空间层次架构的基础。命名一个命名空间,该命名空间包含为具有 .Design 后缀的基命名空间提供设计时功能的类型。例如,System.Windows.Forms.Design 命名空间包含用于设计基于 System.Windows.Forms 的应用程序的设计器和相关的类。
嵌套的命名空间应当在包含它的命名空间中的类型上有依赖项。例如,System.Web.UI.Design 中的类依赖于 System.Web.UI 中的类。但是,System.Web.UI 中的类不依赖于 System.UI.Design 中的类。
应当对命名空间使用 Pascal 大小写,并用句点分隔逻辑组件,如 Microsoft.Office.PowerPoint 中所示。如果您的商标使用非传统的大小写,请遵循您的商标所定义的大小写,即使它与规定的 Pascal 大小写相背离。例如,命名空间 NeXT.WebObjects 和 ee.cummings 阐释了对于 Pascal 大小写规则的适当背离。
如果在语义上适当,使用复数命名空间名称。例如,使用 System.Collections 而不是 System.Collection。此规则的例外是商标名称和缩写。例如,使用 System.IO 而不是 System.IOs。
不要为命名空间和类使用相同的名称。例如,不要既提供 Debug 命名空间也提供 Debug 类。
rouser
2003-08-30
打赏
举报
回复
http://www.yesky.com/20011103/203294_6.shtml
速马
2003-08-30
打赏
举报
回复
用来解决程序命名混乱的问题
和类,对象无关
jQuery中绑定事件的
命名空间
详解
在没有看到这篇 文章之前,我一直不知道原来bind也可以有
命名空间
。事实上,我看完这篇文章后,再去翻了一下手册,也才发现了一点点的注释。但手册也仅仅是一句话就带 过去了。没有过多的深究,或许他认为
命名空间
这
玩意
很简单,没有必要多解释? 先看手册,由于bind方法有三个参数(type,[data],fn),所以手册上这么介绍: .bind() 方法是用于往文档上附加行为的主要方式。所有JavaScript事件对象, 比如focus, mouseover, 和 resize,都是可以作为type参数传递进来的。 jQuery还提供了一些绑定这些标准事件类型的简单方式,比如.click()用于简 化
XML
命名空间
详解
一、
命名空间
的意义 XML是一种非常好用的标记语言,它具有极好的可扩展性,因此当我们需要同时访问多份XML文档时,有可能会出现这样一种情况:在同一份XML文档中可能出现多个同名的标签和属性,而这些标签和属性意义又是完全不同的,这样如果我们如果不从语法上提供区别,则XML处理器将无法区分它们。 为了解决这个问题XML提供了
命名空间
的支持。我们想象这样一个场景,在学校的操场上你喊一句“小明”可能一下...
PHP手册 入门 第五季
命名空间
PHP手册 入门 第五季
命名空间
,首先一起了解了
命名空间
的用途,已总体认识
命名空间
的。然后学习了
命名空间
的定义,多个
命名空间
的定义,namespace关键字以及比较重要的use导入和别名。通过手册系统学习,和大家一起掌握
命名空间
。
“”
命名空间
中“”不明确/不同dll调用相同
命名空间
/修改
命名空间
名称 解决方案
一、问题描述: 不同dll,
命名空间
相同,虽然能添加引用,但是却报错,提示“A”
命名空间
中“B”不明确,这种情况下,最优解是合并dll相关功能,最快解是直接修改
命名空间
名称,结果死在了第二条路上,而就在尸体都快招来苍蝇付首付的时候,奇迹出现了。 真是搞死劳资了,找了好几个小时,结果就改这
玩意
儿,简直了,看来要打三百年的史莱姆才行啊。 二、解决方案: 三、问题解决。 如果这篇博客对您有所帮助的话,将是我的荣幸,如果能够再点个赞的话,将是多么美好的一件事。 ...
什么叫做pythonic_Pythonic
到底
是什么
玩意
儿?
Pythonic
到底
是什么
玩意
儿?作者:Martijn Faassen注:Martijn是Zope领域的专家,他为Zope系列产品做了许多开发工作,也开发了lxml等多个开源产品。你可以在这里了解一下他的信息2005年,虽然有少部分内容(主要是例子)看起来已经有些过时,但即便是在今天,它的中心思想依然有极高的指导意义。这是几个月前在EuroPython邮件列表(主要用来组织和计划EuroPytho...
C#
110,534
社区成员
642,575
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章