问候,

我是初学者OO和编程,我有以下情况:

我有一组几个类的我实现份额常量值和枚举。

这些类是不是共享这些值独立即其它,它们不彼此相互作用,因此继承他们将无法工作。

我想知道;如果我创建与只是这些consts和枚举一个空类,然后声明这些类中的每个类的一个对象,然后我可以使用这些值,如:

globals.enum.enummember?

这是声音编程或者是有这样做的更好的办法?

感谢您的时间。

有帮助吗?

解决方案

最好的做法是简单地宣布枚举以及您的类,而不是嵌套在一个班。其实,嵌套类型通常是一个坏主意,除非它们是私有的。但也有例外,当然,但在大多数情况下你不筑巢更好。

常量在一个类中定义,但你并不需要实例化类的一个对象来使用它们。此外,他们可以是公开的,所以你不需要任何继承。如果你想想看够硬,你应该能够找出一个好名字包含这些常量的类。

实践表明,常量和枚举很少只是全球。他们大多紧密地与一个或几个班的时间。然后,您应该定义这些常量适当类的一部分,并使用他们把枚举在相同的命名空间类。

其他提示

可以使用与静态成员静态类以实现期望的行为:

namespace A {
    public static class Enum1 {
       public static readonly int EnumMember1 = 1;
       public static readonly int EnumMember2 = 2;
       public static readonly int EnumMember3 = 3;
    }
}

您应以下列方式使用:

int x = A.Enum1.EnumMember2;
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top