Αφού με χαρά εντόπισα αυτό το απίστευτο εργαλειάκι (fxCop) που θα με βοηθήσει να κατανοήσω και να φτιάξω καλύτερα τον κώδικα μου, το έτρεξα και έπεσα πάνω σε αυτό το warning:
"Types that declare disposable members should also implement
IDisposable. If the type does not own any unmanaged
resources, do not implement a finalizer on it."
Help: http://www.gotdotnet.com/team/fxcop/docs/rules.aspx?version=1.35&url=/Design/TypesThatOwnDisposableFieldsShouldBeDisposable.html
(Στον κώδικα μου, μου χτυπάνε κάποια DataTables που έχω δηλώσει σε κάποιες κλάσεις. )
Πρέπει όντως να κάνω implement το IDisposable? Έχει δηλαδή unmanaged resources το DataTable (?!?) και αν ναι, πως κλείνουν?
Στο παράδειγμα του fxCop έχει FileStream και απλώς τα κάνει Close.
Εντομεταξύ, το fxCop γενικώς είναι "σωστό" σαν εργαλείο?
Προσπάθησα να αντιγράψω τη λογική αυτή με τα DataTables σε ένα μικρότερο project για να κάνω τις δοκιμές μου, αλλά το fxCop δεν μου χτύπησε warning για dispose.
The Bible was written by the same people
who said the Earth was flat.