Microsoft MVP성태의 닷넷 이야기
event handler 관련 문의 [링크 복사], [링크+제목 복사],
조회: 16626
글쓴 사람
베라 (wooricle at gmail.com)
홈페이지
첨부 파일
 

안녕하세요.

이벤트 사용할 때 이벤트핸들러를 다음과 같이 event 대신 static으로 사용하면
event를 사용했을 때와 어떤 차이가 있는지 궁금하여 문의드립니다.

[코드]
public delegate void AAA(Info info);
public static AAA onAAA;

public static void AAAEvent(Info info)
{
   if(onAAA != null) onAAA(info);
}

위의 코드는 제가 작성한 건 아니고 유지보수 때문에 받게된 코드인데
모든 이벤트(약 200개 정도)를 이렇게 처리해두었더라구요.
혹시 event로 바꿀 경우 이점이 있다면 모두 변경해볼까 합니다.

답변 부탁드리겠습니다.
감사합니다.








[최초 등록일: ]
[최종 수정일: 11/23/2021]


비밀번호

댓글 작성자
 



2021-11-23 05시22분
보여주신 것은, 사실 이벤트가 아니고 그냥 delegate를 사용한 것입니다. 이벤트로 바꾸려면 이벤트 형식에 맞게 (object sender, EventArgs e) 인자를 받도록 모두 수정해야 할 텐데... 이제와서는 아마 꽤나 귀찮은 작업이 될 듯합니다. ^^;

가장 큰 차이점이라면, 해당 onAAA 메서드를 저런 식으로 두었다면 외부에서도 호출이 가능하다는 점과, 누군가 '=' 대입 연산자를 사용하면 그 전의 구독자가 해지된다는 정도의 차이점이 있습니다.

(참고로, 혹시 제 책을 가지고 계시다면, "4.5.2.3 이벤트"에서 그에 대해 상세하게 설명하고 있습니다.)
정성태
2021-11-23 05시33분
[베라] 답변 감사드립니다.

주석을 이벤트로 적어두어서 그렇게 생각하고 있었는데, 그냥 delegate를 사용한 것이군요.
이벤트 내용 확인해보겠습니다.
[guest]

... 16  17  18  19  20  21  22  23  24  25  26  27  28  [29]  30  ...
NoWriterDateCnt.TitleFile(s)
5202민성8/6/201920584WPF에서 <Application.Resources에 xaml에 있는 icon 값을 저장하고 xaml에 불러다 사용하고 싶은데요 [1]
5201김대훈8/3/201920863상속시 생성자에 대해 질문드립니다 [3]
5200농상7/30/201923957foreach로 데이터 변경 [2]
5190오리다람7/20/201920584질문드립니다. [3]
5189진우7/19/201919325C# 스레드풀 코어별 실행 문의 [2]
5188황태관7/19/201918007비주얼베이직 2019 실행 할때 마다.. [3]
5187플하7/19/201921848UWP 관련 궁금한 사항에 대해서 [1]
5186김대훈7/14/201921553박싱과 언박싱에 대해 [2]
5185농상7/13/201918630Nullable에 대해서 [1]
5184김대훈7/4/201918195저자님의 책을 다 본후에는 [2]
51837/2/201920686.NET Compact Freamwork 컨트롤러 더블버퍼링 [1]
5182wpf ...7/2/201919965wpf 질문 드립니다. [1]파일 다운로드1
51817/1/201921661DataGridview Doublebuffer 에 대해서 질문드립니다. [2]
5180김대훈6/25/201921457배열과 반복문에서 질문드립니다 [2]
5177농상6/13/201924223멀티스레드 건의 [2]
5176이선호6/13/201920670안녕하세요. 닷넷 문제로 검색하다 알게되어 들어왔습니다. 현재 IIS 문제가 있어 질문드립니다. [1]
5175Chobo6/12/201920624WPF Ellipse 그리기! [3]
5174농상6/11/201921011ThreadPool 조인에 관해 [1]
5173전우치6/9/201921912공유 리소스에 대한 스레드 동기화 처리를 위해서 lock 이용 시 문의 [3]
5172김대훈6/7/201920134너무힘드네요 공부에 대한조언부탁드립니다 [2]
5171조남석6/4/201919421EX)11-2(treeview)에 대한 질문입니다. [3]
5170레리6/4/201920149Setup 프로젝트 레지스트리 설정 관련 질문입니다. [1]파일 다운로드1
5169농상6/3/201919910멀티스레드 파라미터 관련 [2]
5168익명유저5/30/201919217항상 정말 감사드립니다... [1]
5167WPF5/23/201919982질문드립니다. [1]
5165이대희5/22/201917848Visual Studio 설치 구성요소 문의 (C# 7.3 개정판 관련) [1]
... 16  17  18  19  20  21  22  23  24  25  26  27  28  [29]  30  ...