我想知道这种事件的使用是否会导致Silverlight内存泄漏?
private void Button_Click(object sender, RoutedEventArgs e)
{
var test = new ChildWindow();
EventHandler closedEvent = null;
closedEvent =
(s, args) =>
{
test.Closed -= closedEvent;
if (test.DialogResult == true)
{
// something
}
};
test.Closed += closedEvent;
test.Show();
}
我已经打开了有线和漏洞的封闭事件的示例用法。只是想知道这个样本是否会消除内存泄漏? 感谢。
答案 0 :(得分:0)
我没有看到任何内存泄漏的原因。在每个按钮上单击你分配新的ChildWindow对象,该对象将在方法结束后被包含,因为你不存储引用。 Labda(它的对象也将)在ChildWindow对象之后被包围。