Apakah ini:
public MyClass
{
public const string SomeString = "SomeValue";
}
lebih buruk dari ini:
public MyClass
{
public static string SomeString { get{ return "SomeValue";}}
}
Keduanya dapat dirujuk dengan cara yang sama:
if (someString == MyClass.SomeString)
...
Namun yang kedua, memiliki perlindungan menjadi properti. Tapi seberapa jauh ini lebih baik daripada const?
Saya telah belajar berulang kali tentang bahaya memiliki bidang publik. Jadi ketika saya melihat beberapa kode menggunakan konstanta ini di bidang publik, saya langsung mengatur tentang refactoring mereka ke properti. Tapi setengah jalan, saya bertanya-tanya apa manfaatnya memiliki sifat statis di atas konstanta.
Ada ide?