我正在考虑这两种情况:
class StructuralCase
{
class Structure
{
...
}
class Material
{
...
}
class Forces
{
...
}
}
和
namespace StructuralCase
{
class Structure
{
...
}
class Material
{
...
}
class Forces
{
...
}
}
问题在于" StructuralCase"我不会声明任何实例变量,例如,它将作为"父母"其他课程。
这引导我考虑将StructuralClass转换为命名空间。你觉得怎么样?有什么硬规则吗?
答案 0 :(得分:5)
你所拥有的是两件不同的东西。
第一种情况 class example
:
您有一个包含3个嵌套私有类的内部类
在您的第二个方案中 namespace example
:
你有3个没有嵌套的内部独立类。
如果类只应在StructuralCase
中使用,请使用第一个示例,否则如果类是独立的并且没有关系,那么命名空间就是前进的方法。
答案 1 :(得分:4)
我只会使用命名空间,因为你不需要课程的所有开销。
一个类有更多的结构,变量和方法,并提供继承层,但如果你不需要它们,就不要使用Class。
答案 2 :(得分:4)
通常,您希望使用namespace
,只因为它启用using
语句 - 否则您必须通过所有嵌套类引用该类(当然,除了父类本身之外) )。因此,在案例1中,外部参考将 来说
StructuralCase.Structure s = ...
而不是
using StructuralCase;
// ...
Structure s = ...
在功能上,制作嵌套类的唯一真正原因是
internal
)struct
)