Saya baru menyadari bahwa konstruk properti C # juga dapat digunakan dengan pengubah akses pribadi :
private string Password { get; set; }
Meskipun ini secara teknis menarik, saya tidak bisa membayangkan kapan saya akan menggunakannya karena bidang pribadi bahkan melibatkan lebih sedikit upacara :
private string _password;
dan saya tidak bisa membayangkan kapan saya harus bisa mendapatkan secara internal tetapi tidak mengatur atau mengatur tetapi tidak mendapatkan bidang pribadi:
private string Password { get; }
atau
private string Password { set; }
tapi mungkin ada kasus penggunaan dengan kelas bersarang / mewarisi atau mungkin di mana get / set mungkin berisi logika, bukan hanya memberikan kembali nilai properti, meskipun saya cenderung menjaga properti sangat sederhana dan membiarkan metode eksplisit melakukan logika apa pun, mis GetEncodedPassword().
Apakah ada yang menggunakan properti pribadi dalam C # untuk alasan apa pun atau hanya salah satu dari konstruksi kode yang secara teknis memungkinkan namun jarang digunakan?
Tambahan
Jawaban yang bagus, membacanya, saya menggunakan ini untuk properti pribadi:
- ketika bidang pribadi harus dimuat dengan malas
- ketika bidang pribadi membutuhkan logika tambahan atau nilai yang dihitung
- karena bidang pribadi bisa sulit untuk di-debug
- untuk "memberikan kontrak kepada diri sendiri"
- untuk secara internal mengkonversi / menyederhanakan properti yang terbuka sebagai bagian dari serialisasi
- membungkus variabel global untuk digunakan di dalam kelas Anda
