类库和命名空间之间的实际区别是什么?我知道两者都用于将类,命名空间等组合在一起。任何人都可以告诉我应该在哪种情况下使用类库以及何时创建新的命名空间。
答案 0 :(得分:10)
命名空间为类提供了一个名义上的分离,类库提供了物理分离(在windows中认为是一个独立的dll)。
当您想要包装可与其他项目共享的功能时,类库非常有用。
想象一下创建一个Windows应用程序,您可以将UI和实现类(类库)拆分为两个不同的项目。然后你发现你需要有一个相同的web版本。您只需从Windows应用程序导入您创建的类库,就可以使用所有实现,只关注Web UI。
如果您使用命名空间在一个项目中创建了整个Windows应用程序来分隔它们,那么这样做会非常棘手。乱。 (曾尝试导入exe吗?)
值得指出的是,类库本身可能会使用命名空间来为其中的类提供进一步的概念分离
答案 1 :(得分:4)
命名空间的目的是避免名称冲突。当你有几百个类时,应该使用命名空间。其他指标 - 当您的代码被其他人使用时,您的名字可能会与用户代码中的名称冲突。
其他重要的区别是类始终是数据类型。您可以使用此类型定义变量。命名空间不是一种类型。您无法使用命名空间定义变量。