필자는 Intellisense 자동 완성을 통해 항상 이와 같은 이벤트 처리기를 할당했습니다.C# 이벤트 처리기를 할당하는 차이점은 무엇입니까?
RangeSelector.RangeChanged += new EventHandler(RangeSelector_RangeChanged);
최근에 내 동료 중 한 명이이 방법으로 알아 챘습니다.
RangeSelector.RangeChanged += RangeSelector_RangeChanged;
두 가지 방법 모두 구문 상 올바로 컴파일되고 예상대로 작동합니다.
이러한 방법의 차이점, 이점 또는 단점은 무엇입니까? 그들은 같은 IL 코드를 갖게 되었습니까? 아니면 제가 알고 있어야 할 미묘한 차이점이 있습니까?
또한 단지 구문 설탕입니다 처리기 자체는 지정하지만 처리기를 할당하거나 할당 취소하는 모든 위치에는 적용되지 않습니다. –
+1하지만 "바람직해야합니다"라는 것은 의문의 여지가 있습니다. + =를 입력하고 탭 버튼을 두 번 누르면 더 새로운 구문이 생성됩니다. 현재 이벤트 처리기를 추가하는 가장 빠른 방법은 IDE 도움말을 사용하여 이전 구문을 생성하는 것입니다. – AnthonyWJones
@Matthew Scharley : Visual Studio의 기본 제공 리팩터링 지원을 사용하면 이러한 문제에 대해 걱정할 필요가 없습니다. –