这是:
public MyClass
{
public const string SomeString = "SomeValue";
}
比这更糟:
public MyClass
{
public static string SomeString { get{ return "SomeValue";}}
}
两者可以用相同的方式引用:
if (someString == MyClass.SomeString)
...
但是,第二个保护是作为财产的。但是,这真的比const好多少?
我已经学到了遍及公共领域的危险。因此,当我看到一些在公共字段上使用这些常量的代码时,我立即着手将其重构为属性。但是到了一半,我想知道拥有静态属性而不是常量有什么好处。
有任何想法吗?