【发布时间】:2011-09-08 17:26:32
【问题描述】:
我开始编写大型 C# 代码库,发现使用带有多个 const ints 字段的静态类。这个类的行为与枚举完全一样。
我想将该类转换为一个实际的枚举,但是没有权限。我想转换它的主要原因是我可以将枚举作为数据类型而不是 int。这对可读性有很大帮助。
有什么理由不使用枚举而使用 const ints 吗? 目前的代码是这样的:
public int FieldA { get; set; }
public int FieldB { get; set; }
public static class Ids
{
public const int ItemA = 1;
public const int ItemB = 2;
public const int ItemC = 3;
public const int ItemD = 4;
public const int ItemE = 5;
public const int ItemF = 6;
}
但是,我认为应该改为:
public Ids FieldA { get; set; }
public Ids FieldB { get; set; }
【问题讨论】:
-
使用数据类型而不是 int 还可以防止编译器发现任何可能的错误。
-
在不知道这些字段和常量的用途的情况下,很难找到一个合理的答案来提供高质量、具体的架构建议。
-
你为什么不问“权力是什么”?
标签: c# design-patterns enums