【发布时间】:2013-11-10 08:16:48
【问题描述】:
我正在开发一个新项目,我注意到一些我不确定是否正确的代码。我用来证明问题的名称和值是假的。
public class MyConsts //Should it be static?
{
public const string MyConst1 = "a";
public const string MyConst2 = "b";
public const string MyConst3 = "c";
public const string MyConst4 = "d";
....
}
对于我的逻辑,这个类(只包含 consts 值)应该是静态的,所以没有初始化它的选项,这没有意义,对吗?
编辑:我是盲目地编写代码,所以我混淆了字符串和常量的顺序 - 因为它不是我的问题的目标,所以我已经解决了这个问题。
【问题讨论】:
-
该类根本不应该存在。您想改用资源。
-
@JoelCoehoorn 我见过很多情况,这种方法非常适合,而资源充其量也不会带来任何好处。 IE。
HtmlTags.Div = "div"非常适合作为常量集合,但如果放入资源中,则需要格外小心以避免本地化。 -
@JoelCoehoorn - 不,他应该有一个由
ConstantsFactory继承的IAbstractFactory,它从资源中读取常量,然后使用 IOC 容器注入它们。