CommunityToolkit / CommunityToolkit/Windows

Clean up suppression of CA1063 and implement IDisposable correctly

Offen
#84 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
components::animations components::collections components::helpers enhancement
Vorherrschende Sprache
C#
Sterne
1.1k
Forks
166
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

From https://github.com/CommunityToolkit/Tooling-Windows-Submodule/issues/63

One or more components in this repository are suppressing CA1063. To avoid memory leaks in certain edge cases, we should be implementing the full `IDisposable` pattern and not suppressing this warning.

[Affected components](https://github.com/search?q=repo%3ACommunityToolkit%2FWindows+disable+CA1063&type=code):
- [CameraHelper](https://github.com/CommunityToolkit/Windows/blob/744e6aba53329b3f04980237ca4d19eae3fbd5c9/components/Helpers/src/CameraHelper/CameraHelper.cs#L16)
- [AdvancedCollectionView](https://github.com/CommunityToolkit/Windows/blob/744e6aba53329b3f04980237ca4d19eae3fbd5c9/components/AdvancedCollectionView/src/AdvancedCollectionView.Defer.cs#L24)
- [ExpressionNode](https://github.com/CommunityToolkit/Windows/blob/744e6aba53329b3f04980237ca4d19eae3fbd5c9/components/Animations/src/Expressions/ExpressionNodes/ExpressionNode.cs#L18) (from Animations package)

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Untersuche CameraHelper.cs, AdvancedCollectionView.Defer.cs und ExpressionNode.cs an den verlinkten Stellen und verfolge anschließend, wie jede Komponente Ressourcen besitzt, die freigegeben werden müssen. Überprüfe zuerst die CA1063-Unterdrückungen und das bestehende Freigabeverhalten; abgeschlossen ist die Aufgabe, wenn die betroffenen Komponenten das vollständige IDisposable-Muster implementieren, ohne CA1063 zu unterdrücken.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
csharp
Bereich
tooling
Issue-Typ
Refactoring
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.