X-Received: by 10.182.76.74 with SMTP id i10mr12765020obw.16.1451941246752; Mon, 04 Jan 2016 13:00:46 -0800 (PST) X-Received: by 10.50.36.3 with SMTP id m3mr12267igj.0.1451941246724; Mon, 04 Jan 2016 13:00:46 -0800 (PST) Path: csiph.com!feeder.erje.net!2.us.feeder.erje.net!weretis.net!feeder6.news.weretis.net!news.glorb.com!border1.nntp.dca1.giganews.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!mv3no18119559igc.0!news-out.google.com!f6ni43525igq.0!nntp.google.com!mv3no18119558igc.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: it.comp.lang.visual-basic Date: Mon, 4 Jan 2016 13:00:45 -0800 (PST) In-Reply-To: <2989a17c-81f5-4126-8b3d-aad6b62dd834@googlegroups.com> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=151.16.176.179; posting-account=eitZdgoAAAC6C9CXmyhLNaQM3MgI3eZM NNTP-Posting-Host: 151.16.176.179 References: <2989a17c-81f5-4126-8b3d-aad6b62dd834@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <49b0f340-0f07-4cf2-9f9d-8bf4bc2aaec3@googlegroups.com> Subject: Re: [VB.NET] Quando implementare IDisposable From: Luca D Injection-Date: Mon, 04 Jan 2016 21:00:46 +0000 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Lines: 18 Xref: csiph.com it.comp.lang.visual-basic:18648 On Monday, January 4, 2016 at 9:40:17 PM UTC+1, Antologiko wrote: > Buona sera e buon anno a tutti. > Nella mia libreria espongo una classe le cui istanze creano ed utilizzano= , per tutta la loro durata, un oggetto FileStream per leggere e scrivere da= ti su file. >=20 > La domanda =E8: devo implementare l'interfaccia IDisposable per tale clas= se, in modo da permettere ai consumers del mio type il rilascio determinist= ico dei file sottostanti? Cosa dicono le "Best Practices"? Visto che la tua classe tiene in vita un FileStream dall'inizio alla fine, = =E8 preferibile per chi la consuma avere un metodo per poterlo rilasciare e= splicitamente, quindi anche se tecnicamente non hai risorse unmanaged, prob= abilmente sarebbe meglio mettere a disposizione Dispose() Visto come usi lo stream per=F2, potresti anche fare una pensata a derivare= direttamente da FileStream, cos=EC per chi lo usa =E8 pi=F9 chiaro che ha = a che fare con una risorsa di quel tipo e pu=F2 regolarsi meglio su quando = fare 'Dispose()' quando fare 'Using' ecc.. ecc..