Megosztás a következőn keresztül:


CA1014: Szerelvények megjelölése a CLSCompliantAttribute használatával

Tulajdonság Érték
Szabályazonosító CA1014
Cím Szerelvények megjelölése a CLSCompliantAttribute használatával
Kategória Design
A javítás kompatibilitástörő vagy nem törik Nem törés
Alapértelmezés szerint engedélyezve a .NET 8-ban Nem

Ok

A szerelvényre nincs alkalmazva az System.CLSCompliantAttribute attribútum.

Szabály leírása

A Common Language Specification (CLS) olyan elnevezési korlátozásokat, adattípusokat és szabályokat határoz meg, amelyeknek a szerelvényeknek meg kell felelniük, ha a programozási nyelvek között használják őket. A jó kialakítás azt diktálja, hogy minden szerelvények kifejezetten jelezzék a CLS-nek való megfelelést CLSCompliantAttribute. Ha az attribútum nem található egy szerelvényen, a szerelvény nem megfelelő.

A CLS-kompatibilis szerelvények olyan típusokat vagy típustagokat tartalmazhatnak, amelyek nem megfelelőek.

Szabálysértések kijavítása

A szabály megsértésének kijavításához adja hozzá az attribútumot a szerelvényhez. A teljes szerelvény nem megfelelőként való megjelölése helyett meg kell határoznia, hogy mely típus- vagy típustagok nem megfelelőek, és jelölje meg ezeket az elemeket. Ha lehetséges, cls-kompatibilis alternatívát kell biztosítania a nem megfelelő tagok számára, hogy a lehető legszélesebb közönség hozzáférjen a szerelvény összes funkciójához.

Mikor kell letiltani a figyelmeztetéseket?

Ne tiltsa el a szabály figyelmeztetését. Ha nem szeretné, hogy a szerelvény megfelelő legyen, alkalmazza az attribútumot, és állítsa az értékét a következőre false: .

Figyelmeztetés mellőzése

Ha csak egyetlen szabálysértést szeretne letiltani, adjon hozzá előfeldolgozási irányelveket a forrásfájlhoz a szabály letiltásához és újbóli engedélyezéséhez.

#pragma warning disable CA1014
// The code that's violating the rule is on this line.
#pragma warning restore CA1014

Ha le szeretné tiltani egy fájl, mappa vagy projekt szabályát, állítsa annak súlyosságát none a konfigurációs fájlban.

[*.{cs,vb}]
dotnet_diagnostic.CA1014.severity = none

További információ: Kódelemzési figyelmeztetések letiltása.

Példa

Az alábbi példa egy olyan szerelvényt mutat be, amely rendelkezik a System.CLSCompliantAttribute CLS-kompatibilisnek deklarált attribútummal.

[assembly:CLSCompliant(true)]
namespace DesignLibrary {}
<assembly:CLSCompliant(true)>
Namespace DesignLibrary
End Namespace

Kapcsolódó információk