2010-12-15 40 views
2

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

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 sur Window.
  • Mettez en œuvre IDisposable interface vous-même pour ce Window.