Приведет ли этот стиль кодирования к утечке памяти

Следуя шаблону MVVM, я пытаюсь подключить отображение дочернего окна представлением в ответ на запрос от модели представления.

] Используя MVVM-Light Messenger, View будет регистрировать запрос на отображение дочернего окна в конструкторе View следующим образом:

InitializeComponent();
Messenger.Default.Register<EditorInfo>(this, (editorData) =>
{
    ChildWindow editWindow = new EditWindow();
    editWindow.Closed += (s, args) =>
    {
        if (editWindow.DialogResult == true)
            // Send data back to VM
        else
           // Send 'Cancel' back to VM
   };

   editWindow.Show();
});

Вызывает ли подписка на событие ChildWindow Closed с помощью лямбда-выражения проблемы для сборки мусора. Или, другими словами, когда (если вообще когда-либо) на editWindow перестанет ссылаться и он станет кандидатом на сборку мусора.

6
задан Nick 30 March 2011 в 13:51
поделиться