Articles of dispose

Quando dovrei smaltire i miei oggetti in .NET?

Per codice generale, ho davvero bisogno di disporre di un object? Posso ignorarlo per la maggior parte o è una buona idea disporre sempre un object quando il 100% è sicuro di non averne più bisogno?

Evitare di chiamare Invoke quando il controllo è eliminato

Ho il seguente codice nel mio thread di lavoro ( ImageListView seguito è derivato da Control ): if (mImageListView != null && mImageListView.IsHandleCreated && !mImageListView.IsDisposed) { if (mImageListView.InvokeRequired) mImageListView.Invoke( new RefreshDelegateInternal(mImageListView.RefreshInternal)); else mImageListView.RefreshInternal(); } Tuttavia, a volte ObjectDisposedException con il metodo Invoke sopra. Sembra che il controllo possa essere eliminato tra il momento in cui […]

Per cosa è IDisposable?

Se .NET dispone della garbage collection, perché è necessario chiamare esplicitamente IDisposable ?

Come disporre una class in .net?

Il garbage collector .NET alla fine libererà la memoria, ma cosa succederebbe se volessi riavere quella memoria immediatamente? Quale codice è necessario utilizzare in una class MyClass per chiamare MyClass.Dispose() e liberare tutto lo spazio utilizzato da variabili e oggetti in MyClass ?

Differenza tra destructor, dispose e finalize method

Sto studiando come funziona il garbage collector in c #. Sono confuso sull’uso dei metodi Destructor , Dispose e Finalize . Secondo la mia ricerca e comprensione, avere un metodo Destructor all’interno della mia class dirà al garbage collector di eseguire la garbage collection nel modo menzionato nel metodo distruttore che non può essere chiamato […]

Il garbage collector chiama Dispose ()?

Pensavo che il GC avrebbe chiamato Dispose alla fine se il tuo programma non l’avesse fatto, ma dovresti chiamare Dispose () nel tuo programma solo per rendere deterministico il cleanup. Tuttavia, dal mio piccolo programma di test, non vedo affatto che Dispose venga chiamato …. public class Test : IDisposable { static void Main(string[] args) […]

Il modo giusto per disporre di Image / Bitmap e PictureBox

Sto cercando di sviluppare un’applicazione per Windows Mobile 6 (in WF / C #). C’è solo un modulo e sul modulo c’è solo un object PictureBox. Su di esso disegno tutti i controlli desiderati o quello che voglio. Ci sono due cose che sto facendo. Disegnare forms personalizzate e caricare bitmap da file .png. La […]

Cosa succede se non chiamo Smaltire sull’object penna?

Cosa succede se non chiamo Dispose sull’object pen in questo snippet di codice? private void panel_Paint(object sender, PaintEventArgs e) { var pen = Pen(Color.White, 1); //Do some drawing }

Smaltimento dei controlli utente WPF

Ho creato un controllo utente WPF personalizzato che è destinato ad essere utilizzato da una terza parte. Il mio controllo ha un membro privato che è usa e getta, e mi piacerebbe assicurarmi che il suo metodo di eliminazione venga sempre chiamato una volta chiusa la finestra o l’applicazione contenente. Tuttavia, UserControl non è usa […]

Qual è la differenza tra l’utilizzo di IDisposable vs un distruttore in C #?

Quando dovrei implementare IDispose su una class anziché su un distruttore? Ho letto questo articolo , ma mi manca ancora il punto. La mia ipotesi è che se implemento IDispose su un object, posso “distruggerlo” esplicitamente anziché aspettare che il garbage collector lo faccia. È corretto? Ciò significa che dovrei sempre chiamare esplicitamente Dispose su […]