Est-ce:
public MyClass
{
public const string SomeString = "SomeValue";
}
pire que cela:
public MyClass
{
public static string SomeString { get{ return "SomeValue";}}
}
Les deux peuvent être référencés de la même manière:
if (someString == MyClass.SomeString)
...
La seconde cependant a la protection d'être une propriété. Mais à quel point cela vaut-il mieux qu'un const?
J'ai appris maintes et maintes fois le danger d'avoir des champs publics. Ainsi, lorsque j'ai vu du code utilisant ces constantes sur des champs publics, je me suis immédiatement mis à les refactoriser en propriétés. Mais à mi-parcours, je me suis demandé quel était l'avantage d'avoir les propriétés statiques sur les constantes.
Des idées?