Properti pribadi dapat sangat berguna untuk merangkum perilaku hal-hal yang bersifat internal ke kelas Anda. Hanya karena sifatnya pribadi tidak berarti Anda tidak boleh mengambil keuntungan dari gula sintaksis yang diberikan properti kepada Anda.
Namun, contoh yang diberikan adalah yang buruk. Pencari dan setter properti Boilerplate seperti ini hampir selalu merupakan ide yang buruk. Jika Anda menggunakan C # 3.0 atau lebih baru, properti otomatis adalah ide yang jauh lebih baik:
private string Whatever { get; set; };
Ini lebih pendek, lebih bersih, dan lebih mudah dibaca. Bahkan itu hampir tidak lebih lama dari sekedar mendeklarasikan variabel pendukung.
Namun yang paling penting, properti otomatis dapat dikonversi ke properti penuh kapan saja tanpa mengubah semantik program lainnya! Jadi, jika Anda perlu menambahkan validasi atau penanganan kesalahan, Anda dapat melakukannya dengan mudah.
Seperti itu, saya selalu berpikir itu memalukan bahwa Anda tidak dapat memiliki properti hanya baca, untuk menegakkan hanya mampu menulis dengan nilai dalam konstruktor, (Saya lebih suka jenis yang tidak dapat diubah ) tetapi ini ditambahkan dalam C # 6.0 sebagai "Inisialisasi Properti Otomatis", yang memungkinkan Anda melakukan:
private string Whatever { get; } = ...;
atau
private string Whatever { get; };
bersama
Whatever = ...;
di konstruktor.