C#에서 이벤트가 발생하면 멀티캐스트 델리게이트라는
동일한 시그니처를 가지는 델리게이트를 연속 호출하는 델리게이트로 구독 메서드목록이 차례대로 호출되는데,
webClient.DownloadFileCompleted += (AsyncCompletedEventArgs e) => { ...}
하지만 매번 멀티캐스트 델리게이트가 작동 되는건 자원 낭비를 야기함으로 다음과 같은 가상 함수를 구현함.
protected virtual void OnDownloadFileCompleted(AsyncCompletedEventArgs e)
{ if (DownloadFileCompleted != null) { DownloadFileCompleted(this, e); } }
이 메서드의 특징은 이벤트가 구독되지 않았을 경우, 그걸 컴파일 시간에 분석해서 멀티캐스트 델리게이트 호출을 방지한다는 점임.
c#에서 이벤트를 최적화하는 방법
시샵교주(51.83)
2020-10-13 17:31
추천 0
댓글 1
다른 게시글
-
에이콘 이새끼들 책은 하나같이 왜이러냐 [2]익명(49.171) | 20.10.13추천 0
-
밤새서 앱개발 하는것도 행복임 [2]david(117.111) | 20.10.13추천 1
-
나이먹을수록 컴터 멀리하게 됨익명(1.252) | 20.10.13추천 1
-
opengl 로 만든 연못 [2]david(117.111) | 20.10.13추천 5
-
나 개좆밥 같은 남자가 좋음 [2]솔직맨(motherfuckdc) | 20.10.13추천 5
-
ie 카카오 로그인 어케 처리합니까익명(ikol2525) | 20.10.13추천 0
-
귀찮은 일들은 누가 대신 해줬으면 싶지만 [4]개좆밥(gaejotbab) | 20.10.13추천 0
-
근데 아두이노 c++이냐? [8]ㅁㄴㅇ(121.136) | 20.10.13추천 0
-
외향적 꾸준글 쓰는 새끼야 이 짤로 바꿔라 제발 [8]솔직맨(motherfuckdc) | 20.10.13추천 12
-
면접 준비 할려구 작년에 짠 코드 보는데 엄청 잘했었네 [2]ㅁㄴㅇ(39.7) | 20.10.13추천 0
그딴거까지 따지려면 로우레벨로 가야지