잠시 동안이 작업을 해왔지만 이벤트 처리기를 제거 할 때마다 new
을 사용하고 있다는 사실을 눈치 채지 못했습니다. 나는 새로운 물체를 만들어야 하나?C# 이벤트 핸들러 제거
기본적으로 1과 2 사이에 차이가 있습니까?
ethernetdevice.PcapOnPacketArrival -= ArrivalResponseHandler;
ethernetdevice.PcapOnPacketArrival -= new SharpPcap.PacketArrivalEvent(ArrivalResponseHandler);
편집 : 이 좋아이 중복입니다. 미안합니다. 답변 됨 here 게시 됨.
동일한 대상, 메서드 및 호출 목록을 가진 동일한 형식의 대리자 두 개가 동일한 것으로 간주됩니다.
대리자는 메서드 및 인스턴스 (선택 사항)에 대한 참조 일 뿐이므로 위의 두 인스턴스를 비교하면 등식을 판단하기에 충분합니다. – Botz3000
네,하지만 일반적으로 말해서, 임의의 참조 타입에서'new T()'를 두 번 호출하면 두 개의 다른 인스턴스를 얻을 수 있습니다. 이것은 대표자의 경우가 아니기 때문에, 델리게이트 생성자가'Type' 클래스처럼 인스턴스를 자동으로 인턴하는 것으로 추론합니다. –
인턴 - 그게 무슨 뜻입니까? 답변 해주셔서 감사합니다. 이런 종류의 문제는 제가 가진 의심입니다. 핸들러를 추가하고 제거 할 때 새 인스턴스를 만들 때 새 인스턴스를 만들 때 새로운 것에 대해 궁금합니다. 엄청 이상해. – Sharun