mal*_*iks 7 c# namespaces add project
我想为C#项目添加一个新的命名空间,还要在新创建的命名空间中添加一些类.
当我右键单击Project of Project时,我没有找到任何添加新命名空间的链接,类似地右键单击Project-Named命名空间.
如何向现有项目添加新名称空间?
是否有必要在每个命名空间中使用Main方法?
项目名称应与名称空间名称相同,那么如何在同一项目中添加新名称?
Dav*_*ine 10
在回答每个问题之前,我想从MSDN分享这个:
该
namespace关键字用于声明包含一组相关对象的范围.您可以使用命名空间来组织代码元素并创建全局唯一类型.
问题1
如何向现有项目添加新名称空间?
当您创建一个类时,您可以将它放在几乎任何您想要的命名空间中,它可以完全组成或者已经存在.
namespace Something.That.No.One.Else.Has
{
public class FooBar() { }
}
Run Code Online (Sandbox Code Playgroud)
现在,这个Something.That.No.One.Else.Has命名空间在我的应用程序中可用.我需要使用该using语句来使用FooBar该类,除非使用类在同一名称空间中.
问题2
是否有必要在每个命名空间中使用Main方法?
不,这种语言没有内置任何要求.你可能在想的static void Main了.exe.
问题3
项目名称应与名称空间名称相同,那么如何在同一项目中添加新名称?
正如我在答案1中提到的,您可以根据需要创建一个namespace.我建议,出于组织原因,开始一个新项目,因为它可能会让任何开始在您的源中工作的人感到困惑.
创建新项目时,遵循的命名约定是将项目的默认命名空间设置为项目名称.
更新
在听取OP的意见后,我想我对这种困境有了更好的理解.
在项目中,您应该创建一个与文件关系及其各自实现相关的文件夹结构.下面推荐的实践和模式,从微软.
<Company>.(<Product>|<Technology>)[.<Feature>][.<Subnamespace>]
.
+-- Graphs
| +-- SomeGraphClass.cs // in CompanyName.Product.Graphs namespace
| +-- ...
+-- Data
| +-- SomeDataClass.cs // in CompanyName.Product.Data namespace
| +-- ...
+-- Interfaces
| +-- IFooBar.cs // in CompanyName.Product.Interfaces namespace
| +-- ...
Run Code Online (Sandbox Code Playgroud)
更新2
文件夹结构(默认情况下)指示namespace类的类型.例如,当您右键单击该文件夹时Add > New Item > Class- 它将在该文件夹中创建一个类,但它将namespace按照描述给它.