Bolehkah ciri C# 6.0 digunakan dalam projek .NET 4.0?
Dalam percubaan baru-baru ini, kami mencipta projek sampel yang menggunakan ciri C# 6.0 seperti perambatan nol dan pemulaan sifat dan sasaran .NET 4.0. Anehnya, projek itu berjalan tanpa sebarang halangan.
Latar Belakang dan Percanggahan
Pemerhatian ini bercanggah dengan kebijaksanaan konvensional bahawa .NET 4.6 adalah keperluan minimum untuk menggunakan C# 6.0. Selain itu, dokumentasi menyatakan bahawa .NET 4.0 menggunakan CLR 4, yang menimbulkan keraguan tentang keserasian dengan C# 6.0.
Penjelasan
C# 6.0 bergantung pada pengkompil Roslyn, yang membenarkan penyusunan terhadap versi rangka kerja yang lebih awal. Walau bagaimanapun, ini terhad kepada ciri yang tidak memerlukan sokongan rangka kerja.
Sebagai contoh, interpolasi rentetan serasi dengan versi .NET yang lebih lama kerana ia ditukar kepada rentetan.Formatkan panggilan. Walau bagaimanapun, menggunakan IFormattable memerlukan .NET 4.6 kerana kelas System.FormattableString yang diperlukan hanya tersedia dalam versi itu.
Kesesuaian ciri yang dipersoalkan
Penyebaran nol dan permulaan sifat yang digunakan dalam percubaan tidak memerlukan sokongan rangka kerja. Oleh itu, walaupun tanpa sokongan rasmi daripada Microsoft, pengkompil akan dapat melaksanakannya dalam projek .NET 4.0.
Penghadan
Perlu diingatkan bahawa keserasian ini terhad kepada ciri yang tidak memerlukan sokongan rangka kerja. Apabila menggunakan ciri C# 6.0 yang memerlukan sokongan rangka kerja, anda perlu menaik taraf kepada sekurang-kurangnya .NET 4.6.
Atas ialah kandungan terperinci Bolehkah Ciri C# 6.0 Berfungsi dalam Projek .NET 4.0?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!