Esiste un modo per controllare automaticamente il codice sorgente C# esistente per le istanze di oggetti che non sono stati eliminati correttamente. usando try/catch/finally o usando le istruzioni? O devo semplicemente controllare manualmente il codice?Controllo degli oggetti che implementano IDisposable ma non sono disposti correttamente
risposta
Dai uno sguardo a FxCop per VS2010: credo che abbiano ripristinato la regola DisposeObjectsBeforeLeavingScope, che potrebbe fare esattamente ciò che desideri.
Usa Cop FX per una regola per controllare se IDisposable sono collocati in una vera e propria blocco utilizzando ...
È possibile utilizzare riflettore per passare attraverso l'oggetto con IDisposable
Ref. : Is there a list of common object that implement IDisposable for the using statement? per l'idea ulteriore
HTH
CodeRush ha qualche supporto per individuare le varianti evidenti di. Un'altra opzione possibile è (magari tramite un simbolo di compilazione opzionale) aggiungere un finalizzatore ai propri oggetti IDisposable
e lamentarsi ad alta voce se vengono finalizzati senza essere eliminati (impostare un flag di bool in Dispose
). Ma nota: avere un finalizzatore cambia il comportamento degli oggetti, quindi non lasciarlo nel codice di produzione (o anche nei tuoi normali test di unità).
- 1. Sessione contenente elementi che implementano IDisposable
- 2. DataGridView non mostra le proprietà degli oggetti che implementano ICustomTypeDescriptor
- 3. Come trovare tutte le classi che implementano IDisposable?
- 4. Cosa succede alle attività che non sono mai state completate? Sono disposti correttamente?
- 5. Come gestire gli oggetti IDisposable che sono memorizzati nella cache?
- 6. Esiste un elenco di oggetti comuni che implementano IDisposable per l'istruzione using?
- 7. Come implementare correttamente IDisposable
- 8. In che modo gli oggetti Java sono disposti in memoria su Android?
- 9. primavera dati MongoDB repository non implementano correttamente eredità
- 10. OCaml: tipo controllo degli oggetti
- 11. Catena IDisposable
- 12. Tracciamento non esposto Oggetti monouso
- 13. I valori degli array non sono identici (ma sono?)
- 14. Controllo della parità degli oggetti in Jasmine
- 15. Modelli di controllo delle versioni degli oggetti
- 16. Implementazione del controllo versione degli oggetti DB
- 17. Due .NET oggetti che sono uguali non dicono che sono
- 18. Esiste uno schema riconosciuto per oggetti inutili che implementano un'interfaccia?
- 19. Quali sono le API che implementano JSR-353 (JSON)
- 20. In che modo i componenti Swing vengono creati internamente, disposti, ridipinti, notificati degli eventi, ...?
- 21. Oggetti IDisposable come riferimento param al metodo
- 22. Tutti gli oggetti monouso istanziati all'interno di un blocco utilizza sono disposti?
- 23. Devo implementare IDisposable per un controllo utente?
- 24. System.ServiceModel.ServiceHost implementa IDisposable ma Dispose non è pubblico
- 25. Serializzazione e controllo delle versioni degli oggetti in C#
- 26. Colore di controllo degli elementi della legenda che non sono guide colore in ggplot
- 27. Capire come sono disposti in memoria gli array numpy
- 28. XUnit Asserzione per il controllo di uguaglianza degli oggetti
- 29. Lettura degli oggetti persistenti ma non ancora scaricati con la docenza
- 30. PetaPoco.Database implementa IDisposable, quindi perché la maggior parte degli esempi non ha un'istruzione 'using'?
Ho scaricato la versione di prova di VS2010 Premium e ha effettivamente questa regola CA2000. Grazie. – etoisarobot