Microsoft MVP성태의 닷넷 이야기
event handler 관련 문의 [링크 복사], [링크+제목 복사],
조회: 14114
글쓴 사람
베라 (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]

... 61  62  63  64  65  66  67  68  69  70  71  72  73  74  [75]  ...
NoWriterDateCnt.TitleFile(s)
668정성태6/30/200716091    답변글 [답변]: 안녕하세요^^
663모름이6/19/200714412Microsoft.Framework 에서 OLE DB 사용하려면.. [1]
664모름이6/20/200715470    답변글 [추가질문]: 다른 OLE DB 를 사용하려면..
662조성택6/13/200715824C#에서 string클래스.. [1]
660신동열6/11/200717209ClickOnce 업데이트시 이전 버젼 제거오류 [1]
659한귀순6/11/200718304윈폼 프로그램 및 디자인. [2]
661한귀순6/12/200715650    답변글 [추가질문]: 윈폼 프로그램 및 디자인. [3]
657정해봉6/8/200726782요청 시간 초과 오류 [2]
655이방은5/28/200716972성태님 UML 도구 뭐 쓰십니까??? [1]
654임정훈5/23/200715677카드스페이스 관련질문
658정성태6/9/200716377    답변글 [답변]: 카드스페이스 관련질문 [1]
653사다수스5/22/200737383아래한글(HwpCtrl) ocx 메모리 릭 문제입니다. [4]파일 다운로드1
645송원석5/15/200718703ASP 의 ByVal 과 ByRef 특성
646정성태5/15/200718512    답변글 [답변]: ASP 의 ByVal 과 ByRef 특성
647송원석5/16/200718858        답변글 [답변]: [답변]: ASP 의 ByVal 과 ByRef 특성 [1]
648정성태5/16/200717532            답변글 [답변]: [답변]: [답변]: ASP의 ByVal과 ByRef 특성 [1]
649장윤태5/16/200716667                답변글 [답변]: [답변]: [답변]: [답변]: ASP 의 ByVal 과 ByRef 특성
650정성태5/16/200714996                    답변글 [답변]: [답변]: [답변]: [답변]: [답변]: ASP의 ByVal과 ByRef 특성 [2]
643해운대끓...5/15/200714112Singleton 패턴 테스트중 하나의 윈폼만 열기 오류파일 다운로드1
644정성태5/15/200715110    답변글 [답변]: Singleton 패턴 테스트중 하나의 윈폼만 열기 오류 [1]
642조성택5/10/200715945스레드와 WinINet? [1]
641한귀순5/8/200714658Code Obfuscate 에 관한 질문. ^^ [2]
640박희진5/7/200714465스마트 클라이언트에서 ActiveX 브라우저 컨트롤을 사용한 경우 javascript 문제 [1]
639김재영5/3/200721868webBrowser클래스에서 띄워지는 Javascript 오류 다이얼로그를 감지할 수 있습니까? [2]
638최민규4/29/200715064SmartPhone / PDA 등에서의 .NET Smartclient [1]
636라이프가드4/27/200715981Insert 오류입니다. CLOB ........ [1]
... 61  62  63  64  65  66  67  68  69  70  71  72  73  74  [75]  ...