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?
Sehen Sie sich FxCop für VS2010 an - ich glaube, sie wurden wiederhergestellt die Regel DisposeObjectsBeforeLeavingScope - die genau das tun kann, was Sie wollen.
Verwenden Sie FX Cop für eine Regel, um zu überprüfen, ob IDisposable in einem richtigen Using-Block ...
Sie können reflector verwenden, um mit IDisposable
Ref .: Gibt es eine Liste von allgemeinen Objekten, die IDisposable für die using-Anweisung implementieren? für weitere Ideen
HTH
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).
Tags und Links .net c# idisposable