Lorsque j'ajoute un membre de classe IDisposable à la classe Windows Forms Form, j'ajoute le code de disposition à la méthode Dispose du formulaire. Que dois-je faire lorsque j'ajoute un membre de classe IDisposable à la classe de fenêtre WPF, qui n'est pas IDisposable?Membre IDisposable de la classe de fenêtres WPF
2
A
Répondre
6
Prolongez votre classe de fenêtre de sorte qu'il a IDisposable, puis mettre en œuvre la méthode Dispose() comme avant:
public class MyWindow : Window, IDisposable
{
public void Dispose()
{
// Dispose your objects here as before.
}
}
0
Vous pouvez mettre en œuvre le modèle IDisposable que les crochets dans les classes finaliseur. Cela signifie que votre membre IDisposable sera toujours éclairci. Le seul problème est que vous ne sauriez pas quand cela dépend du GC de collecter la classe Window.
Vous pouvez également ajouter un gestionnaire d'événements à l'événement Window.Closed
et y mettre à votre disposition.
1
approches que vous pouvez utiliser:
- Utiliser des événements
Closed
surWindow
. - Mettez en œuvre
IDisposable
interface vous-même pour ceWindow
.