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


CA1506: Kerülje a túlzott osztálykapcsolódást

Tulajdonság Érték
Szabályazonosító CA1506
Cím Kerülje a túlzott osztálykapcsolódást
Kategória Fenntarthatóság
A javítás kompatibilitástörő vagy nem törik Törés
Alapértelmezett küszöbérték Típusok: 95 Egyéb szimbólumok: 40
Alapértelmezés szerint engedélyezve a .NET 8-ban Nem

Ok

Egy típus, metódus, mező, tulajdonság vagy esemény számos más típussal párosul. A fordító által létrehozott típusok ki vannak zárva ebből a metrikaból.

Szabály leírása

Ez a szabály az osztálykapcsolódást az adott típus, metódus, mező, tulajdonság vagy esemény által tartalmazott egyedi típushivatkozások számának megszámolásával méri. Az alapértelmezett összekapcsolási küszöbérték típusoknál 95, más szimbólumtípusoknál 40, a küszöbértékek pedig konfigurálhatók.

A nagy fokú osztálykapcsolódású típusokat, módszereket és egyéb szimbólumokat nehéz fenntartani. Jó gyakorlat olyan típusokkal, módszerekkel és egyéb szimbólumokkal rendelkezni, amelyek alacsony összekapcsolást és magas kohéziót mutatnak.

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

A szabálysértés kijavításához próbálja meg újratervezni a típust vagy metódust, hogy csökkentse azoknak a típusoknak a számát, amelyekhez kapcsolódik.

Mikor kell letiltani a figyelmeztetéseket?

Ezt a figyelmeztetést akkor tilthatja le, ha a típus vagy a metódus karbantarthatónak tekinthető annak ellenére, hogy sok függősége van más típusokhoz.

Megjegyzés:

Ha az alábbiak mindegyike érvényes, a szabály tévesen pozitív figyelmeztetéseket jeleníthet meg:

  • A Visual Studio 2022 17.5-ös vagy újabb verzióját használja a .NET SDK egy régebbi verziójával, vagyis a .NET 6-os vagy korábbi verziójával.
  • A .NET 6 SDK-ból származó elemzőket vagy az elemzőcsomagok egy régebbi verzióját használja, például a Microsoft.CodeAnalysis.FxCopAnalyzerst.

A hamis pozitív értékek a C#-fordító kompatibilitástörő változásának köszönhetők. Fontolja meg egy újabb elemző használatát, amely tartalmazza a hamis pozitív figyelmeztetések javítását. Frissítsen a Microsoft.CodeAnalysis.NetAnalyzers 7.0.0-preview1.22464.1-es vagy újabb verziójára, vagy használja a .NET 7 SDK elemzőit.

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 CA1506
// The code that's violating the rule is on this line.
#pragma warning restore CA1506

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.CA1506.severity = none

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

Küszöbérték konfigurálása

Konfigurálhatja azt a küszöbértéket, amelynél ez a szabály aktiválódik, és az elemezendő szimbólumok típusait. A megengedett szimbólumtípusok a következők:

  • Assembly
  • Namespace
  • Type
  • Method
  • Field
  • Event
  • Property
  1. Hozzon létre egy CodeMetricsConfig.txt nevű szövegfájlt.

  2. Adja hozzá a kívánt küszöbértéket a szövegfájlhoz a következő formátumban:

    CA1506(Method): 60
    CA1506(Type): 120
    

    Ebben a példában a szabály úgy van konfigurálva, hogy aktiválódjon, ha egy metódus több mint 60 egyedi típushivatkozással rendelkezik, vagy egy típus több mint 120 egyedi típushivatkozással rendelkezik. Ezzel a konfigurációs fájllal a szabály továbbra is megjelöli azokat a mezőket, tulajdonságokat és eseményeket, amelyek osztálykapcsolódása nagyobb az alapértelmezett küszöbértéknél (40).

  3. A projektfájlban jelölje meg a konfigurációs fájl buildelési műveletét AdditionalFilesként. Például:

    <ItemGroup>
      <AdditionalFiles Include="CodeMetricsConfig.txt" />
    </ItemGroup>
    

Kapcsolódó információk