命名空间和类名冲突

3 c# resharper namespaces classname

命名与命名空间末尾相同的类时,最佳做法是什么?

例:

    Successful.Domain.Resource {
    public class Resource {}
    }

    Successful.Data.Resource {
    public class Resources {}
    }
Run Code Online (Sandbox Code Playgroud)

如果我想在Successful.Data命名空间中使用Resource类,我不能像我想的那样引用Resource.我需要声明它的名称空间,如Domain.Resource.Resource

我使用Resharper并在文件夹中构造我的所有代码,那就是我有这样的命名空间,文件夹结构的例子:

Successful.Domain(命名空间)

  • 资源(文件夹)
    • Resource.cs
    • ResourceLocation.cs
    • ResourceSettings.cs

Successful.Data(命名空间)

  • 资源(文件夹)
    • Resources.cs

Hab*_*bib 6

请参阅:框架设计指南 - 命名空间的名称

X不要为命名空间使用相同的名称,也不要在该命名空间中使用类型.

因此,建议使用与命名空间不同的类名.

您可能还会看到Eric Lippert撰写的这篇文章:不要将类命名为与其命名空间相同的第一部分

  • @SergeyBerezovskiy,哈哈,是啊他似乎知道**有点** (3认同)