为什么有的namespace会跨dll而存在?

崔鹏飞 2009-11-13 09:29:23
为什么有的namespace会跨dll而存在?
比如命名空间IO下有些类存在于MSCorLib.dll内,而有些存在于System.dll内呢?
...全文
91 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
aimeast 2009-11-14
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 qldsrx 的回复:]
wuyq11是来搅浑水的吗?贴出那种错的离谱的代码。

为什么Framework要这么设计呢?
应该是迫不得已的,比如微软第一个版本写好了以后,下一个版本要对前面这个版本扩展,又不能随便把前面的版本给覆盖了,为了保证兼容性,就再发布一个dll文件,你引用它,那么同样的命名空间内的类和方法就会变多了,不引用它也可以,让以前的代码正常工作。

[/Quote]
我觉得也是这个原因,.net4.0里就应该不会存在这种问题了,4.0是可以选择版本的。
崔鹏飞 2009-11-14
  • 打赏
  • 举报
回复
三楼啥意思呢?
崔鹏飞 2009-11-13
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 qldsrx 的回复:]
wuyq11是来搅浑水的吗?贴出那种错的离谱的代码。

为什么Framework要这么设计呢?
应该是迫不得已的,比如微软第一个版本写好了以后,下一个版本要对前面这个版本扩展,又不能随便把前面的版本给覆盖了,为了保证兼容性,就再发布一个dll文件,你引用它,那么同样的命名空间内的类和方法就会变多了,不引用它也可以,让以前的代码正常工作。

[/Quote]哦,这个make sense,O(∩_∩)O谢谢
qldsrx 2009-11-13
  • 打赏
  • 举报
回复
wuyq11是来搅浑水的吗?贴出那种错的离谱的代码。

为什么Framework要这么设计呢?
应该是迫不得已的,比如微软第一个版本写好了以后,下一个版本要对前面这个版本扩展,又不能随便把前面的版本给覆盖了,为了保证兼容性,就再发布一个dll文件,你引用它,那么同样的命名空间内的类和方法就会变多了,不引用它也可以,让以前的代码正常工作。
崔鹏飞 2009-11-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wuyq11 的回复:]
namespace A
{
namespace A1
{
public class Print
{

}
}

[/Quote]?
wuyq11 2009-11-13
  • 打赏
  • 举报
回复
namespace A
{
namespace A1
{
public class Print
{

}
}
崔鹏飞 2009-11-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 qldsrx 的回复:]
你可以写两个项目,两个项目都用同一个namespace,那么就实现了跨DLL存在了。
[/Quote]我想问的是为什么Framework要这么设计呢?
比如说我查阅MSDN发现某个类A和B是属于同一个命名空间的,而我已经引用过该命名空间所在的dll了,我自然就认为键入B就可以得到intelligence的帮助,但是没有,我还得引入另一个dll才行,这样不就给程序员造成困惑了吗?
qldsrx 2009-11-13
  • 打赏
  • 举报
回复
你可以写两个项目,两个项目都用同一个namespace,那么就实现了跨DLL存在了。

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧