2011-02-11 6 views
5

처리기를 제거하기 전에 궁금합니다.이벤트에서 null 처리기를 제거하는 부작용이 있습니까?

OnEvent - = handler;

처리기가 null인지 아닌지를 결정해야합니까? 핸들러가 null 인 경우 나쁜 영향이 있습니까? handler가 null의 경우

+0

시도해 보셨습니까? :) –

+0

시도, 외관상으로 나쁜 효과가없는 것처럼 보입니다. 그러나 여기서 전문가와 확인하고 싶습니다. – user496949

답변

4

는 아니, 어떤 조합 없습니다 ... 또는 포함 문서를 가지고 Delegate.Remove에 대한 간단한 호출의 경우 적어도, 그것은 것입니다 :

반환 소스을 경우 값이 null이거나 값이 인 호출 목록이 소스의 호출 목록에없는 경우

이제 실제 이벤트 그냥 효과적으로 "제거"방법을 가지고 ... 그리고 것을이 원하는 무엇이든 할. 이것은 null 처리기를 전달할 때 좋지 않은 영향을 미친 꽤나 잘못 구현 된 이벤트입니다. null은 대리자 용어로 "빈 호출 목록"을 의미합니다.

3

아니요, 이것은 문제가되지 않습니다. 기존 컬렉션이 아닌 항목을 제거하는 것과 같습니다. 아무 반응이 없습니다.

관련 문제