Microsoft MVP성태의 닷넷 이야기
event handler 관련 문의 [링크 복사], [링크+제목 복사],
조회: 12159
글쓴 사람
베라 (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)
888김재영7/5/201014362TFS에 반드시! SQL Report랑 SharePoint(or WSS)가 붙어야 합니까? [2]
887임동찬7/2/201015646WCF sendTimeout에 관하여... [1]
886김재영6/16/201015682스레드 선언시 (Parameterized/)ThreadStart에 정의되는 메소드의 위치에 질문이 있습니다. [3]
885장근배6/13/201023100Win32Exception 창 핸들 에러 [1]
883채동민6/10/201015280비동기 DB 쿼리관련 질문
884정성태6/10/201016729    답변글 [답변]: 비동기 DB 쿼리관련 질문
881최준영5/24/201016483load되지않은 아이템 load하는 방법? [1]
880임상일5/10/201018594VS2010 TestManager를 통한 UI Test 관련 질문입니다. [2]파일 다운로드1
879정용훈5/3/201019844wcf 인증 문제 [2]
878채동민4/20/201019020WCF에서 maxItemsInObjectGraph 오류 관련 질문드립니다. [2]
872날쌘돌이4/8/201021741Windows7 에서 IIS에서 폼인증 으로 디버깅.. [1]파일 다운로드1
871영초4/7/201017106실버라이트로 스캐너 구동 프로그램이 가능할까요? [1]
869김재영4/6/201015988이미 실행된 어셈블리 컨트롤 권한을 다른 어셈블리에서 가져올 수 있습니까? [2]
868Lime3/5/201019592WCF 에서의 DataTable 사용 [2]
867Dani...2/18/201019710Question - HTTP 401.3 on DELETE, PUT verbs [6]파일 다운로드1
865박근대2/16/201016198WCF 오류 문의. [1]
863날쌘돌이1/31/201018520ActiveX Cab에서 닷넷 dll 등록 [1]
862장근배1/28/201016261AppPolId를 알 수 있는 방법이 있는지요? [1]
864장근배2/1/201015914    답변글 [답변]: AppPolId를 알 수 있는 방법이 있는지요?
858생초보1/26/201016339안녕하세요.. 파일 생성 처리 문제로 .... [2]
857꼭지1/22/201022068How to support Basic + Windows authentication mode in WCF(RESTful service) [4]파일 다운로드2
856질의자1/13/201020027vcredist_x86 배포 관련 여쭙습니다. [1]
855임동찬1/13/201018130이벤트 핸들러와 쓰레드의 관계 2 [4]파일 다운로드2
854임동찬1/12/201018412이벤트 핸들러와 쓰레드의 관계 [1]
853장근배1/12/201018030압축 프로그램,, [1]
852임동찬1/6/201015419base.OnStart(agrs) [1]
... 61  62  63  64  65  66  67  [68]  69  70  71  72  73  74  75  ...