C# dan Ketiadaan Sifat Sambungan Asli
C# pada masa ini tidak menyokong sifat sambungan secara langsung. Ini bermakna anda tidak boleh menambah sifat pada jenis sedia ada tanpa mengubah kod sumber asalnya. Walaupun had ini wujud, beberapa strategi alternatif boleh meniru fungsi ini.
Pendekatan Alternatif:
Satu kaedah melibatkan memanfaatkan keupayaan atribut TypeDescriptor
. Ini membolehkan melampirkan atribut pada objek secara dinamik semasa masa jalan. Walau bagaimanapun, ini menyimpang daripada sintaks sifat biasa.
Satu lagi penyelesaian yang lebih kompleks, melibatkan penulisan semula kod dinamik menggunakan alatan seperti PostSharp atau Mono.Cecil. Pendekatan ini, bagaimanapun, boleh mengganggu pengoptimuman pengkompil dan berpotensi mengurangkan kebolehselenggaraan kod.
Melihat Ke Hadapan: Cadangan "Perluaskan Segalanya"
Sifat sambungan telah dicadangkan untuk versi C# akan datang, tetapi belum dilaksanakan lagi. Pembangunan Roslyn telah mengutamakan peningkatan ciri sedia ada.
Perbualan berterusan mengenai "lanjutkan segala-galanya" adalah menjanjikan. Konsep ini bertujuan untuk menjadikan sifat, medan dan kelas statik boleh diperluaskan. Sintaks yang dicadangkan akan membenarkan memanjangkan ahli antara muka untuk tertentu atau semua contoh jenis dalam blok kod yang ditetapkan.
Walaupun berminat dengan ciri ini, kemasukannya dalam keluaran C# akan datang kekal tidak pasti dan tertakluk kepada perubahan.
Ringkasan:
Sifat sambungan asli belum lagi menjadi sebahagian daripada C#. Walaupun penyelesaiannya wujud, mereka masing-masing memberikan pertukaran. Pembangun harus sentiasa dimaklumkan tentang pembangunan C# yang berterusan untuk menjejak kemajuan ciri seperti "lanjutkan segala-galanya."
Atas ialah kandungan terperinci Bolehkah C# Menambahkan Hartanah kepada Jenis Sedia Ada Tanpa Mengubah Suai Kod Sumbernya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!