IDisposable член класса окна WPF - PullRequest
       4

IDisposable член класса окна WPF

2 голосов
/ 15 декабря 2010

Когда я добавляю члена класса IDisposable в класс формы Windows Forms, я добавляю код удаления в метод Dispose формы.Что мне делать, когда я добавляю член класса IDisposable в класс окна WPF, который не является IDisposable?

Ответы [ 3 ]

6 голосов
/ 15 декабря 2010

Расширьте свой класс окна, чтобы он имел IDisposable, затем реализуйте метод Dispose (), как и раньше:

public class MyWindow : Window, IDisposable
{
    public void Dispose()
    {
        // Dispose your objects here as before.
    }
}
1 голос
/ 15 декабря 2010

Подходы, которые вы можете использовать:

  • Использование события Closed на Window.
  • Реализация IDisposable интерфейса для этого Window.
0 голосов
/ 15 декабря 2010

Вы можете реализовать шаблон IDisposable , который подключается к финализатору классов. Это означает, что ваш IDisposable член всегда будет очищен. Единственная проблема заключается в том, что вы не знаете, когда, как это зависит от GC, собирать класс Window.

В качестве альтернативы вы можете добавить обработчик события Window.Closed и выполнить его там.

...