Catatan: Ini diposting ketika saya memulai C #. Dengan pengetahuan 2014, saya benar-benar dapat mengatakan bahwa properti otomatis adalah salah satu hal terbaik yang pernah terjadi pada bahasa C #.
Saya terbiasa membuat properti saya di C # menggunakan bidang pribadi dan publik:
private string title;
public string Title
{
get { return title; }
set { title = value; }
}
Sekarang, dengan .NET 3.0, kami mendapatkan properti otomatis:
public string Title { get; set; }
Saya tahu ini lebih merupakan pertanyaan filosofis / subyektif, tetapi apakah ada alasan untuk menggunakan properti otomatis ini kecuali dari menyimpan lima baris kode untuk setiap bidang? Keluhan pribadi saya adalah bahwa properti itu menyembunyikan barang-barang dari saya, dan saya bukan penggemar sihir hitam.
Bahkan, bidang pribadi yang tersembunyi bahkan tidak muncul di debugger, yang OK karena fakta bahwa fungsi get / set tidak melakukan apa-apa. Tetapi ketika saya ingin benar-benar mengimplementasikan beberapa logika pengambil / penyetel, saya tetap harus menggunakan pasangan pribadi / publik.
Saya melihat manfaat bahwa saya menyimpan banyak kode (satu vs enam baris) tanpa kehilangan kemampuan untuk mengubah logika pengambil / penyetel nanti, tapi sekali lagi saya sudah bisa melakukannya dengan hanya mendeklarasikan bidang publik "Public string Title" tanpa kebutuhan {get; set; } blok, bahkan menyimpan lebih banyak kode.
Jadi, apa yang saya lewatkan di sini? Mengapa ada orang yang benar-benar ingin menggunakan properti otomatis?