2010-06-09 5 views
6

내가 본 사람은 다음과 같이 자신의 이벤트를 정의 :이 이벤트가 익명의 대리자와 함께 선언 된 이유는 무엇입니까?

public event EventHandler<EventArgs> MyEvent = delegate{}; 

는 누군가가이없이 그것을 정의하는 다른 방법을 설명 할 수 있습니까? 이벤트를 제기 할 때 null을 확인하지 않는 것입니까?

+0

는,이에 대한 올바른 용어는 "익명의 방법"없습니다 "익명의 위임"입니다. –

답변

10

당신은 그것을 가지고 - 빈 대리인이를 방지 할 수 있습니다 추가 : 내가 잘못 아니에요 경우

public void DoSomething() { 
    if (MyEvent != null) // Unnecessary! 
     MyEvent(this, "foo"); 
} 
2

이 선언을 통해 MyEvent은 null이 아니며 항상 이벤트가 발생 될 때마다 추가 빈 대리자를 실행해야하는 번거 로움없이 null을 확인해야하는 지루하고 오류가 발생하기 쉬운 작업을 제거합니다.

관련 문제