Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 构建恒定的层次结构_C#_C# 4.0 - Fatal编程技术网

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,以便在多个地方使用。我只是集中了目前在两个地方的一些设置。