람다를 EventHandler로 사용하는 유효한 방법입니까? 처리기가 올바르게 제거되었고 가비지 수집기가이를 정리해야하는 것으로 보입니다. 그러나, 나는 다른 사람이 이런 식으로하는 것을 보지 못했기 때문에, 나는 두 번 확인하는 것이 더 좋을 것이라고 생각했다.가비지 수집됩니까?
동일한 줄에 따라 실제로 가비지 수집 중인지 여부를 테스트하는 데 사용할 수있는 가장 좋은 도구는 무엇입니까?
DispatcherTimer timer = new DispatcherTimer();
timer.Interval = TimeSpan.FromSeconds(10);
EventHandler callback = null;
callback = (s, e) =>
{
timer.Stop();
timer.Tick -= callback;
};
timer.Tick += callback;
timer.Start();
관심있는 사람들에게 위의 코드를 1M 번 실행 한 테스트를 만들었습니다. 메모리 사용은 전체적으로 유지되었습니다. – herbrandson