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


CA1030: Szükség esetén események használata

Tulajdonság Érték
Szabályazonosító CA1030
Cím Szükség esetén események használata
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 metódus neve a következők egyikével kezdődik:

  • Addon
  • RemoveOn
  • Tűz
  • Emelni

Ez a szabály alapértelmezés szerint csak külsőleg látható metódusokat tekint meg, de ez konfigurálható.

Szabály leírása

Ez a szabály olyan metódusokat észlel, amelyek általában eseményekhez használt neveket használnak. Az események a Megfigyelő vagy a Publish-Subscribe tervezési mintát követik; akkor használatosak, ha az egyik objektum állapotváltozását más objektumokkal kell közölni. Ha egy metódust egy egyértelműen meghatározott állapotváltozásra válaszul hív meg a rendszer, a metódust egy eseménykezelőnek kell meghívnia. A metódust meghívó objektumoknak eseményeket kell emelnie a metódus közvetlen meghívása helyett.

Néhány gyakori példa az eseményekre a felhasználói felületi alkalmazásokban, ahol egy felhasználói művelet, például egy gombra kattintva a kód egy szegmense fut. A .NET-eseménymodell nem korlátozódik a felhasználói felületekre. Bárhol használható, ahol egy vagy több objektum állapotváltozásait kell közölnie.

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

Ha a metódust egy objektum állapota megváltozásakor hívja meg, fontolja meg a .NET-eseménymodell használatára való módosítást.

Mikor kell letiltani a figyelmeztetéseket?

A szabály figyelmeztetésének mellőzése, ha a metódus nem működik a .NET-eseménymodellel.

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

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

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

Kód konfigurálása elemzéshez

A következő beállítással konfigurálhatja, hogy a kódbázis mely részein futtassa ezt a szabályt.

Ezt a beállítást konfigurálhatja csak ehhez a szabályhoz, az összes szabályhoz, vagy az ebben a kategóriában (Tervezés) szereplő összes szabályhoz, amelyekre vonatkozik. További információ: Kódminőségi szabály konfigurációs beállításai.

Adott API-felületek belefoglalása

A kódbázis azon részeit konfigurálhatja, amelyeken futtathatja ezt a szabályt az akadálymentességük alapján. Ha például meg szeretné adni, hogy a szabály csak a nem nyilvános API-felületen fusson, adja hozzá a következő kulcs-érték párot a projekt egyik .editorconfig fájljához:

dotnet_code_quality.CAXXXX.api_surface = private, internal