Ist das:
public MyClass
{
public const string SomeString = "SomeValue";
}
schlimmer als das:
public MyClass
{
public static string SomeString { get{ return "SomeValue";}}
}
Beide können auf dieselbe Weise referenziert werden:
if (someString == MyClass.SomeString)
...
Der zweite hat jedoch den Schutz eines Eigentums. Aber wie viel besser ist das wirklich als ein const?
Ich habe immer wieder gelernt, wie gefährlich es ist, öffentliche Felder zu haben. Als ich also einen Code sah, der diese Konstanten in öffentlichen Feldern verwendete, begann ich sofort damit, sie in Eigenschaften umzugestalten. Aber auf halbem Weg fragte ich mich, welchen Nutzen es hatte, die statischen Eigenschaften gegenüber den Konstanten zu haben.
Irgendwelche Ideen?