1

问候,

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

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

这些类是独立的,即除了共享这些值之外,它们不相互交互,因此继承它们将不起作用。

我在想; 如果我只用这些常量和枚举创建一个空类,然后在每个类中声明这些类的一个对象,那么我可以使用这些值,例如:

globals.enum.enummember?

这是声音编程还是有更好的方法?

谢谢你的时间。

4

2 回答 2

2

最佳实践是简单地将枚举与您的类一起声明,而不是嵌套在类中。实际上,嵌套类型通常不是一个好主意,除非它们是私有的。当然,也有例外,但在大多数情况下,没有嵌套会更好。

常量必须在类中定义,但您无需实例化类的对象即可使用它们。他们也可以是公开的,所以你不需要继承任何东西。如果你足够认真地考虑它,你应该能够为包含这些常量的类找出一个好名字。

实践表明,常量和枚举很少是全局的。大多数时候,它们与一个或几个类紧密耦合。然后,您应该将这些常量定义为适当类的一部分,并将枚举放在与使用它们的类相同的命名空间中。

于 2010-01-07T13:32:51.713 回答
1

您可以使用带有静态成员的静态类来实现所需的行为:

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;
于 2010-01-07T13:34:24.100 回答