1

我正在使用 C# .NET ( Visual Studio 2010 ) 开发一个项目,其中包含许多生成的部分类、元数据类等(如果你知道实体框架,你就会明白我的意思

我的问题与将命名空间与目录相关联的做法有关,其中每个目录都表示一个子命名空间。

现在,我想将元数据类移动到一个子目录中,纯粹是出于组织目的。由于部分类必须存在于同一个命名空间中,因此Metadata子目录不能再表示命名空间(否则会破坏部分类)我将背离上述做法;没什么大不了的,但我喜欢坚持一个标准。

是否有表示给定目录纯粹是组织的约定?

顺便说一句,在目录名称前加上“ .”()或“ _”(下划线)似乎是合适的,前者比后者多,因为它会导致无效的命名空间名称。


@Pheonixblade9,是这样的:

:
|
+- ProjectFolder/
|   +- App.config
|   +- Packages.config
|   +- ClassA.cs
|   +- ClassB.cs
|   +- ClassC.cs
|   +- ClassD.cs
|   +- Metadata/
|   |   +- ClassA.Metadata.cs  \
|   |   +- ClassB.Metadata.cs   \ These are the partial classes that shouldn't
|   |   +- ClassC.Metadata.cs   / be namespaced differently than their respective
|   |   +- ClassD.Metadata.cs  /  partials in the parent folder
:   :
4

2 回答 2

3
  1. 在解决方案资源管理器中选择文件夹
  2. 在属性中将 NameSpace Provider 设置为 false
于 2014-01-28T23:18:04.117 回答
0

尽管@JohanLarsson 提供了 2012+ 的正确答案,但我选择.了目录上的前缀:

:
+- ClassC.cs
+- ClassD.cs
+- .Metadata/
|   +- ClassA.Metadata.cs
|   +- ClassB.Metadata.cs
:   :

这会使提供给在该文件夹中创建的类的命名空间名称无效。它更像是一个隐含的指标,而不是我更喜欢的明确规则(正如@JohanLarsson 的回答所提供的那样),但话又说回来,我是 2010 年的傻瓜。

我仍然愿意接受答案,并且很乐意将接受更改为更好的东西。

于 2014-02-26T19:26:44.017 回答