public static class或const

时间:2016-06-23 14:12:41

标签: class static const public

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

const string Thatch = "Thatch";
const string BrickAndTimberFrame= "Brick And Timber Frame";
const string OtherRoof = "Other";
etc......
etc......

我想要做的是在Core Application中创建公共静态类(参见下面的代码)。这样做的原因是我只需要在一个地方更改/添加一个值。

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;
        }

请添加任何评论/改进等

1 个答案:

答案 0 :(得分:0)

一般来说,我认为“'Good Class™'的定义特征”是“它正确的事情,永远不要(!)'如何,确切地说, “它做到了。”

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

因此,只有你能真正回答的问题是:“他们真的关心'那个字符串的价值',还是他们想要'回答是或否的问题,这部分是基于回答的关于该字符串的值?'“这可能会指导您做出最佳做法的决定。 (请注意,我不认为有任何明确的规则。我已经做到了两种方式......)