Nach Objekten suchen, die IDisposable implementieren, aber nicht ordnungsgemäß entsorgt werden

8

Gibt es eine Möglichkeit, den vorhandenen C # -Quellcode automatisch auf Instanzen von Objekten zu überprüfen, die nicht ordnungsgemäß entsorgt wurden, dh. Verwenden Sie try / catch / finally oder verwenden Sie Anweisungen? Oder muss ich nur den Code manuell ansehen?

    
etoisarobot 08.04.2010, 19:41
quelle

3 Antworten

3

Sehen Sie sich FxCop für VS2010 an - ich glaube, sie wurden wiederhergestellt die Regel DisposeObjectsBeforeLeavingScope - die genau das tun kann, was Sie wollen.

    
LBushkin 08.04.2010, 19:45
quelle
1

HTH

    
Sunny 08.04.2010 19:46
quelle
0

CodeRush unterstützt einige offensichtliche Varianten. Eine andere mögliche Option ist (vielleicht über ein optionales Kompilierungssymbol), einen Finalizer zu deinen eigenen IDisposable -Objekten hinzuzufügen und laut zu beschweren, wenn sie finalisiert werden, ohne entsorgt zu werden (setze ein Bool-Flag in Dispose ). Aber beachten Sie: Wenn Sie einen Finalizer haben, ändert sich das Verhalten der Objekte, also lassen Sie ihn nicht im Produktionscode (oder sogar in Ihren regulären Komponententests).

    
Marc Gravell 08.04.2010 20:43
quelle

Tags und Links