Acara
17 Mar, 21 - 21 Mar, 10
Bergabunglah dengan seri meetup untuk membangun solusi AI yang dapat diskalakan berdasarkan kasus penggunaan dunia nyata dengan sesama pengembang dan pakar.
Daftar sekarangBrowser ini sudah tidak didukung.
Mutakhirkan ke Microsoft Edge untuk memanfaatkan fitur, pembaruan keamanan, dan dukungan teknis terkini.
Properti | Nilai |
---|---|
ID Aturan | CA2260 |
Judul | Menerapkan antarmuka matematika generik dengan benar |
Golongan | Penggunaan |
Perbaikan bersifat disruptif atau non-disruptif | Non-disruptif |
Diaktifkan secara default di .NET 9 | Sebagai peringatan |
Aturan ini diaktifkan saat Anda menerapkan antarmuka matematika generik yang memerlukan parameter jenis berulang sendiri dan Anda tidak meneruskan jenis itu sendiri sebagai parameter jenis.
Beberapa antarmuka matematika generik memperkenalkan anggota abstrak statis. Satu-satunya cara untuk mengakses anggota statis tersebut adalah melalui batasan generik yang mengimplementasikan "pola templat berulang yang aneh" (CRTP). Oleh karena itu, jenis turunan itu sendiri harus digunakan untuk parameter jenis berulang sendiri. Jika jenis mengimplementasikan antarmuka seperti itu tanpa melewati parameter jenis yang diperlukan dan CA2260 diabaikan, kode akan berhasil dikompilasi tetapi abstrak statis tidak akan dapat diakses. Dengan demikian, jenisnya tidak akan dapat digunakan. Pengkompilasi memancarkan peringatan dengan ID CS0315 pada penggunaan tersebut.
Berikan parameter jenis yang benar untuk parameter jenis berulang mandiri (TSelf) saat mengimplementasikan antarmuka tersebut.
Pelanggaran:
using System;
// Warns: The 'IParsable<TSelf>' requires the 'TSelf' type parameter to be filled with the derived type 'MyDate'
public readonly struct MyDate : IParsable<DateOnly>
{ ... }
Perbaikan:
Teruskan MyDate
jenis sebagai parameter jenis untuk IParsable<TSelf>
antarmuka.
using System;
// No warning
public readonly struct MyDate : IParsable<MyDate>
{ ... }
Jangan menyembunyikan peringatan dari aturan ini.
Umpan balik .NET
.NET adalah proyek sumber terbuka. Pilih tautan untuk memberikan umpan balik:
Acara
17 Mar, 21 - 21 Mar, 10
Bergabunglah dengan seri meetup untuk membangun solusi AI yang dapat diskalakan berdasarkan kasus penggunaan dunia nyata dengan sesama pengembang dan pakar.
Daftar sekarang