Microsoft MVP성태의 닷넷 이야기
event handler 관련 문의 [링크 복사], [링크+제목 복사],
조회: 12079
글쓴 사람
베라 (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)
5185농상7/13/201914128Nullable에 대해서 [1]
5184김대훈7/4/201913878저자님의 책을 다 본후에는 [2]
51837/2/201914999.NET Compact Freamwork 컨트롤러 더블버퍼링 [1]
5182wpf ...7/2/201914676wpf 질문 드립니다. [1]파일 다운로드1
51817/1/201915637DataGridview Doublebuffer 에 대해서 질문드립니다. [2]
5180김대훈6/25/201915335배열과 반복문에서 질문드립니다 [2]
5177농상6/13/201918033멀티스레드 건의 [2]
5176이선호6/13/201916072안녕하세요. 닷넷 문제로 검색하다 알게되어 들어왔습니다. 현재 IIS 문제가 있어 질문드립니다. [1]
5175Chobo6/12/201915794WPF Ellipse 그리기! [3]
5174농상6/11/201915216ThreadPool 조인에 관해 [1]
5173전우치6/9/201916204공유 리소스에 대한 스레드 동기화 처리를 위해서 lock 이용 시 문의 [3]
5172김대훈6/7/201914916너무힘드네요 공부에 대한조언부탁드립니다 [2]
5171조남석6/4/201914123EX)11-2(treeview)에 대한 질문입니다. [3]
5170레리6/4/201915012Setup 프로젝트 레지스트리 설정 관련 질문입니다. [1]파일 다운로드1
5169농상6/3/201914707멀티스레드 파라미터 관련 [2]
5168익명유저5/30/201914018항상 정말 감사드립니다... [1]
5167WPF5/23/201914994질문드립니다. [1]
5165이대희5/22/201913686Visual Studio 설치 구성요소 문의 (C# 7.3 개정판 관련) [1]
5164레드5/21/201915947실행 과정과 실행파일 디버그 시 Icon변경 질문드립니다. [5]
5163이대희5/20/201913624시작하세요 C# 7.3 프로그래밍 책 도착했습니다. [1]
5162채홍윤5/14/201917300Mono Develop window 설치 [6]
5161정대영5/13/201914096VS 2013에서 C#6.0(.netFramwork 4.6.1) $ 디버깅 오류 [1]
5160초보개발자5/13/201915831wcf 관련 국내 서적 살만한 책이 있나요? [2]
5159sdh25/9/201914927VS 2010 버전에서 생성한 DLL을 VS 2017버전에서 실행 시 에러 [2]
5158sdh5/8/201914066Visual studio 2010 버전에서 생성한 Project를 Visual studio 2017버전에서 실행에러 [1]
5157김경훈5/8/201917309Task 만들때 넘겨주는 CancellationToken은 어디서 사용 되는 건가요? [4]
... 16  17  18  19  20  21  22  23  24  25  26  27  28  [29]  30  ...