相关疑难解决方法(0)

如何避免为类及其命名空间使用相同的名称,例如Technology.Technology?

我经常在命名空间和该命名空间中的类之间进行命名冲突,并且除了添加随机前缀之外,在首先使用这些名称似乎有意义时,我们想知道处理此问题的最佳实践.

拥有一个Models.Technology命名空间似乎是有意义的,它有许多技术类(即武器,农业,回收技术)和一些相关的接口.我还决定在Technology命名空间中使用一个技术抽象类,所有技术都来自该类.

但是,这迫使我使用这样的代码:

public Technology.Technology research(Technology.Technology tech) {...}
Run Code Online (Sandbox Code Playgroud)

同样地:

public Building.Building build(int count) {...}
Run Code Online (Sandbox Code Playgroud)

顺便说一下,我没有命名我的命名空间技术,因为我在其他地方使用该术语作为可用技术列表的包装器......

c# namespaces naming-conventions

20
推荐指数
1
解决办法
3876
查看次数

名称空间与类名同名

我认为以下内容是有意义的,但这是不可能的,并且会抛出错误:The namespace 'foo' already contains a definition for 'bar'.

namespace foo
{
    public class bar { ... }
}

namespace foo.bar
{
    public class baz : EventArgs { ... }
}
Run Code Online (Sandbox Code Playgroud)

对于这样的案例,命名空间命名的适当方法是什么?

c#

6
推荐指数
3
解决办法
4198
查看次数

一个类是否应该与命名空间同名?

我正在设计一个名称空间来保存一组类,这些类将处理几个不同应用程序的用户相关任务.(登录,验证等)

问题是命名空间将被调用Fusion.User但是它需要在该命名空间中有一个有意义的类来调用User.

你应该有一个与命名空间同名的类吗?或者我在这里采取了错误的做法?

.net class-design namespaces naming-conventions

5
推荐指数
1
解决办法
2852
查看次数

标签 统计

c# ×2

namespaces ×2

naming-conventions ×2

.net ×1

class-design ×1