129 messaggi dal 26 agosto 2004
ho letto che per liberare le risorse non gestite,
occorre implementare questo metodo(dall' intefaccia idisposable), e poii via codice richiamarlo esplicitamente per liberare le risorse.

ma ora quello che mi chiedo è:
perche' implementare l' interfaccia idisposable e non crearmi un metodo qualunque che faccia la stessa cosa?
tanto comunque va invocato in modo esplicito!

spero di essermi spiegato!!

Stefano M.
Domanda lecita
Per due ragioni:
- è vero che la classe la crei tu e la usi tu, ma non è sempre così. Magari tu la crei e qualcun altro la utilizza. Anche gli sviluppatori del framework stesso avrebbero potuto pensare la stessa cosa. Usando un'interfaccia si standarizza la cosa così che tutti si comportino allo stesso modo;
- questa interfaccia è conosciuta al compilatore e permette di usare il costrutto using che facilita molto l'uso del patterh try/finally per utilizzare un oggetto e assicurarsi che venga chiamato il Dispose

Ciao

Il mio blog
Homepage
176 messaggi dal 04 giugno 2007
Contributi | Blog
Leggiti con molta cura questo blog post:
http://www.bluebytesoftware.com/blog/2005/04/08/DGUpdateDisposeFinalizationAndResourceManagement.aspx

Dovrebbe chiarire tutti i tuoi dubbi

Saluti

--Alessandro
129 messaggi dal 26 agosto 2004
Grazie per le risposte!!
in effetti anche io ho pensato fosse una questione di standard,
e che magari certi metodi del frameworkk magari possono controllare se l'oggetto sia IDisposable per fare certe operazioni! e in effetti il costrutto using a pensarci bene fa proprio questo!!

Alessandro, grazie per l'articolo,
ora devo lavorare, appena avro' tempo lo leggero volentieri! anche se e' in inglese

Stefano M.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.