Rumah >pembangunan bahagian belakang >C++ >Mengapa C# Tidak Menyokong Sifat Sambungan Secara Asli?
Pada masa ini, C# tidak mempunyai sokongan terbina dalam untuk sifat sambungan. Ini bermakna anda tidak boleh menambah sifat pada jenis sedia ada secara langsung tanpa mengubah suai kod sumbernya.
Pengguguran sifat sambungan asli berpunca daripada beberapa faktor. Pasukan reka bentuk C# tidak mengutamakan ciri ini dan melaksanakannya akan memerlukan perubahan besar pada pengkompil, yang berpotensi memperkenalkan pepijat atau kesesakan prestasi.
Walaupun sokongan langsung tidak tersedia, penyelesaiannya wujud. Menggunakan TypeDescriptor
membenarkan melampirkan atribut pada masa jalan, tetapi ini menyimpang daripada sintaks sifat standard dan mempunyai had. PostSharp atau Mono.Cecil, alat pihak ketiga, menawarkan penambahan sifat pasca penyusunan dengan mengubah suai kod atau Bahasa Perantaraan (IL). Walau bagaimanapun, ini boleh menghalang pengoptimuman pengkompil.
Komuniti .NET secara aktif membincangkan sifat sambungan. Kemasukan mereka dalam keluaran C# akan datang adalah satu kemungkinan.
Sintaks yang mungkin untuk sifat sambungan, sekiranya ia dilaksanakan, mungkin menyerupai ini:
<code class="language-csharp">// Extend the string class with a 'WordCount' property public extension string : IWordCount { public int WordCount { get; } }</code>
Ini akan menyediakan cara yang bersih untuk menambah sifat pada sebarang jenis.
Faedah sifat sambungan adalah jelas:
Walaupun C# pada masa ini tidak mempunyai sokongan sifat sambungan asli, alternatif yang berdaya maju wujud dan versi akan datang mungkin termasuk ciri yang sangat diminta ini. Penggunaannya akan meningkatkan fleksibiliti bahasa dan organisasi kod dengan ketara.
Atas ialah kandungan terperinci Mengapa C# Tidak Menyokong Sifat Sambungan Secara Asli?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!