C# 构建恒定的层次结构
我很难想出一个优雅的解决方案来满足我的需求。我有一系列的物品(比如酒店、航班、旅游等等) 这些项目中的每一项都有“最小年龄”和“最大年龄”值。我想创建一个常量来保存所有这些。我开始做标准:C# 构建恒定的层次结构,c#,c#-4.0,C#,C# 4.0,我很难想出一个优雅的解决方案来满足我的需求。我有一系列的物品(比如酒店、航班、旅游等等) 这些项目中的每一项都有“最小年龄”和“最大年龄”值。我想创建一个常量来保存所有这些。我开始做标准: public static class AgeConstants { public const int MinHotelAge = 0; public const int MaxHotelAge = 10; ...... } 但后来我想,“这看起来有点笨重”。如果我以AgeConstant
public static class AgeConstants
{
public const int MinHotelAge = 0;
public const int MaxHotelAge = 10;
......
}
但后来我想,“这看起来有点笨重”。如果我以AgeConstants.Hotel.Min
,AgeConstants.Hotel.Max
,AgeConstants.Flight.Min
等方式访问这些常量,会更好
但是我想不出一个实现这种模式的好方法。有谁知道一个好的模式可以让我以这种方式访问常量吗?这是否可行
我已经尝试了一些,但没有什么能给这个问题带来任何好处。为什么不尝试这样的方法:
public static class AgeConstants
{
public class Hotel
{
public const int MinHotelAge = 0;
public const int MaxHotelAge = 10;
}
}
@Liam是的,你是对的,我们在这里并没有实际使用partial,把它改为class only,这些叫做嵌套类。我还建议不要对非代码的东西使用内联代码。在这种情况下,斜体格式将是一个不错的选择。这些应该是常量吗?也许类的实例具有
Min
和Max
的只读属性更合适?@CodesInChaos,有趣的一点,实际上反映了我与同事讨论的内容。你能详细说明一下吗?如果不了解更多的上下文,很难给你一个好的解决方案。但这些闻起来不像是实际的常量,更像是一个策略。不,它们是常量。我只需要一个结构来保存一些硬编码的int,以便在多个地方使用。我只是集中了目前在两个地方的一些设置。