2010-06-28 2 views
3

뭔가 : SomeEvent이 SomeFunc 후 호출실행되지 않는 함수 내에서 선언 된 이벤트 핸들러를 호출하면 어떻게됩니까? 이 같은

void SomeFunc() 
    { 
     int InsideVar = 1; 
     EventHandler handler = (s, e) => { MessageBox.Show(InsideVar.ToString()); }; 
     SomeEvent += handler; 
    } 

그리고이 실행됩니다. 나는 그것을 실제로 테스트했는데 효과가 있었지만 그 이유를 이해할 수는 없었다. insideVar가 스택에 있고 함수가 실행 된 후 기존에 멈출 것이라고 생각했습니다. 나는 예외를 기대하고 있었다. 누군가 이걸 좀 더 명확히 해줄 수 있습니까?

+0

정확히 일치하지는 않지만이 질문을 통해 알아야 할 모든 내용을 알 수 있습니다. http://stackoverflow.com/questions/428617/what-are-closures-in-net – spender

답변

관련 문제