Это:
public MyClass
{
public const string SomeString = "SomeValue";
}
хуже чем это:
public MyClass
{
public static string SomeString { get{ return "SomeValue";}}
}
На оба можно ссылаться одинаково:
if (someString == MyClass.SomeString)
...
Второй, однако, имеет защиту как собственность. Но действительно ли это лучше, чем const?
Я узнал снова и снова об опасностях наличия общественных полей. Поэтому, когда я увидел некоторый код, использующий эти константы в открытых полях, я сразу же приступил к рефакторингу их в свойствах. Но на полпути мне стало интересно, какая польза от статических свойств по сравнению с константами.
Любые идеи?