Microsoft MVP성태의 닷넷 이야기
event handler 관련 문의 [링크 복사], [링크+제목 복사]
조회: 1501
글쓴 사람
베라 (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를 사용한 것이군요.
이벤트 내용 확인해보겠습니다.
[손님]

1  2  3  4  5  6  7  8  9  10  11  12  [13]  14  15  ...
NoWriterDateCnt.TitleFile(s)
5440한예지1/1/20213060추상클래스로와 new [4]
5439이상호12/31/20203719VC 프로젝트 에서 _main 함수에서 참조되는 확인할 수 없는 외부 기호 [4]파일 다운로드1
5438김윤12/29/20205021C# winform using으로인한 메모리 해제 타이밍과 변수 복사 타이밍 [2]
5437한예지12/25/20203499for문 안에 있는 지역변수의 생성 및 유지 기간에 대해 질문드립니다! [6]
5436영귤12/24/20202726fixed는 자동으로 stackalloc이 되는 건가요? [1]
5435한예지12/24/20202680ArraySegment, Span, ReadOnlySpan 질문있습니다! [1]
5434한예지12/23/20202990ToString 재정의 질문있습니다! [8]
5433한예지12/23/20202745List<ArrarySegment<int>> 사용법 질문드립니다! [2]
5431한예지12/17/20203761비동기 소켓 서버 질문 드립니다! [1]
5430종범12/16/20203419[WPF] Task 관련 재질문 드립니다. [2]파일 다운로드1
5429종범12/16/20203138[WPF] Task 관련 질문 드립니다. [1]파일 다운로드1
5428최선호12/14/20203294성태님 ㅠ.ㅠ 소켓 서버 작동이 이상합니다 ㅠ.ㅜ [1]파일 다운로드1
542712/11/20203149LPBOOL Win32 마샬링 질문이 있습니다. [6]
5426하태12/11/20202536안녕하세요 정성태님! C# winform Calendar 컨트롤 질문 드리겠습니다!. [1]
5425정유경12/10/20202499[왕초보] (4) [1]
5423정유경12/8/20202811[왕초보] (3) [2]
5422이승준12/7/20204525VisualStudio 2019의 인텔리센스가 느려지는 경우가 있나요? [4]
5421정유경12/6/20203201[왕초보] (2) [4]
5420정유경12/5/20202850[왕초보] 랜덤 숫자와 배열에 관한 질문 [1]
5419종범12/4/20203320[WPF] Threadpool사용 시 크리티컬 섹션 대응 질문 입니다. [4]
5418한예지11/27/20203282클래스, 인터페이스 크기를 구하고 싶은데 어떻게 해야 될까요? [1]
5417한예지11/27/20202621인터페이스와 추상클래스에 대해 궁금증이 있습니다. [1]
5416한예지11/27/20202617Object 질문 있어요. [1]
5415한예지11/25/20202638교재 213쪽 예제 4.25 질문드립니다. [1]
5414한예지11/23/20203184제네릭 리스트 출력하는 방법이 궁금합니다. [1]
5413민석11/20/20203205C# minidump를 프로그램이 중단 될 때 만들고 싶습니다. [1]파일 다운로드2
1  2  3  4  5  6  7  8  9  10  11  12  [13]  14  15  ...