我是一名Java开发人员,对C#来说是全新的。我目前正在编写一个DLL,以便在我的组织中进行分发。它是一个非常简单的库,包含几个类,我认为没有任何实际用途,只是为了它而将所有这些类放入某个命名空间。我真的必须使用命名空间吗?如果是这样,为什么?这是一种最佳做法吗?
答案 0 :(得分:15)
你需要一个吗?不,你应该吗?是。它有助于防止在其他命名空间中使用同名的类发生冲突,而不必诉诸{IMHO}丑陋地使用global::
。
答案 1 :(得分:11)
对于一次性测试应用程序(例如检查Stack Overflow答案),我不使用命名空间。对于任何其他,我做。这只是一个组织事物 - 如果你要重用代码,将它与你在同一个环境中重用的其他代码分开是有帮助的。我的意思是,如果您使用LibraryX和LibraryY创建应用程序,那么能够在应用程序中区分它们是有用的。例如,它们可能都使用相同的类名 - 如果不使用名称空间,这将使代码变得丑陋。
除了其他任何东西,如果你使用Visual Studio进行编码,实际上更多的工作而不是来包含命名空间 - 你必须修改项目以给它一个空的默认命名空间。 / p>
答案 2 :(得分:0)
无需拥有命名空间。但是开发人员工作室希望您使用名称空间。例如,当您选择将类添加到项目时,开发人员工作室将:
“项目的默认命名空间”是开发人员工作室概念,而不是C#概念,并且在项目的属性中设置。
当您为其他人创建一个dll时,如果您有名称空间,那么对于您的dll用户来说会更容易:
因此,我认为没有充分理由不使用命名空间。
答案 3 :(得分:0)
我对“是”的投票我觉得使用命名空间是个好习惯。你无法确定人们不会使用相同的类名。
答案 4 :(得分:0)
要回复关于命名类与命名空间相同的注释,请阅读以下文章中的一些内容。
简短版:不要这样做。
答案 5 :(得分:0)
基本上,System是asp.net C#中的根命名空间。 在.net中,每个程序都使用默认名称空间创建。此默认名称空间称为全局名称空间。但是程序本身会创建任意数量的命名空间,每个命名空间都是唯一的名称。
了解更多 http://asp-net-by-parijat.blogspot.in/2015/08/what-is-namespace-in-c-need-of.html