Class 公共静态类或常量

Class 公共静态类或常量,class,static,constants,public,Class,Static,Constants,Public,我应该创建一个公共静态类还是使用内部常量? 我正在开发一个非常大的应用程序,并注意到在许多地方使用了const string。这用于比较用户的选择 const string Thatch = "Thatch"; const string BrickAndTimberFrame= "Brick And Timber Frame"; const string OtherRoof = "Other"; etc...... etc...... 我想做的是在核心应用程序中创建公共静态类(参见下面的代码)

我应该创建一个公共静态类还是使用内部常量? 我正在开发一个非常大的应用程序,并注意到在许多地方使用了const string。这用于比较用户的选择

const string Thatch = "Thatch";
const string BrickAndTimberFrame= "Brick And Timber Frame";
const string OtherRoof = "Other";
etc......
etc......
我想做的是在核心应用程序中创建公共静态类(参见下面的代码)。原因是我只需要在一个地方更改/添加一个值

public static class RoofConstruction
{
  public static String Thatch{ get { return "Thatch"; } }
  public static String BrickAndTimberFrame { get { return "Brick And  Timber   Frame"; } }
  etc....
  etc....
}
比较函数将如下所示

 internal bool SlateTileOrConcreteRoof()
        {
            return RiskInformation.RoofConstruction.Value == RoofConstruction.Slate ||
                   RiskInformation.RoofConstruction == RoofConstruction.TileAndSlate ||
                   RiskInformation.RoofConstruction == RoofConstruction.Concrete;
        }

请添加任何评论/改进等

一般来说,我认为“一个好班级的定义特征™’,” 是不是“它做了正确的事情,不必担心(!)”,确切地说,“它做了。”

当您从类中导出常量时,这表明应用程序中未知数量的其他部分(当前和未来…)将包含针对该字符串进行测试的逻辑


因此,只有你才能真正回答的问题:“他们真的关心‘该字符串的值’,还是他们想要‘对一个肯定或否定的问题的答案,这个答案部分是根据该字符串的值来回答的?’”这可能会指导你决定最好做什么。(请注意,我不认为存在任何类型的亮线规则。我用两种方法都做到了…

最好在配置文件中使用常量