Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
| Tulajdonság | Érték |
|---|---|
| Szabályazonosító | CA2260 |
| Cím | Általános matematikai felületek helyes implementálása |
| Kategória | Használat |
| A javítás romboló vagy nem romboló | Nem törhető |
| Alapértelmezés szerint engedélyezve a .NET 10-ben | Figyelmeztetésként |
| Alkalmazandó nyelvek | C# |
Ok
Ez a szabály akkor aktiválódik, ha olyan általános matematikai felületet implementál, amely ön-ismétlődő típusparamétert igényel, és nem adja át magát a típust típusparaméterként.
Szabály leírása
Egyes általános matematikai felületek statikus absztrakt tagokat vezetnek be. A statikus tagok elérésének egyetlen módja egy általános kényszer, amely megvalósítja a "kíváncsian ismétlődő sablonmintát" (CRTP). Ezért magát a származtatott típust kell használni az ön-ismétlődő típusparaméterhez. Ha egy típus anélkül implementálja az ilyen felületet, hogy a szükséges típusparamétert megadná, és figyelmen kívül hagyja a CA2260 figyelmeztetést, a kód gond nélkül lefordul, de a statikus absztrakt nem lesz elérhető. Így a típus nem lesz használható. A fordító cs0315 azonosítójú figyelmeztetést ad ki az ilyen használatról.
Szabálysértések kijavítása
Adja meg a megfelelő típusparamétert az ön-ismétlődő típusparaméterhez (TSelf) ezen interfészek megvalósításakor.
Példa
Szabálysértés:
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>
{ ... }
Javítás:
Adja meg a MyDate típust a IParsable<TSelf> interfész típusparamétereként.
using System;
// No warning
public readonly struct MyDate : IParsable<MyDate>
{ ... }
Mikor kell letiltani a hibákat?
Ne nyomja el a figyelmeztetést ebből a szabályból.