Microsoft MVP성태의 닷넷 이야기
Action 델리게이트 사용법 질문있습니다! [링크 복사], [링크+제목 복사],
조회: 13012
글쓴 사람
예지
홈페이지
첨부 파일
 
(연관된 글이 1개 있습니다.)

안녕하세요!

스레드에서 아래와 같은 코드를 봤습니다.
.Invoke(new Action( ()=> { } );

제가 이해가 되지 않는 점은 선생님 교재 635~636쪽과 다른 교재들을 참고해도
Action 앞에 new를 붙이는 경우는 없는데
무슨 경우인지 잘 모르겠습니다...
그래서 new를 빼면 빨간 밑줄이 발생합니다...

[질문] Action 앞에 new를 붙이는 경우와 붙이지 않는 경우 차이점 있나요?


[연관 글]






[최초 등록일: ]
[최종 수정일: 1/13/2021]


비밀번호

댓글 작성자
 



2021-01-13 07시09분
new만 지우면,

.Invoke(Action( () => { } ) );

당연히 빨간 밑줄이 발생합니다. C# 컴파일러는 위의 구문을 메서드의 호출인지 new로 인한 개체 생성인지 구분하지 못합니다. Action까지 없애야,

.Invoke( () => { } );

Invoke의 인자가 Delegate를 받는다는 것을 알고 있으므로 그에 맞게 new [delegate_type]으로 변환해 컴파일하는 것입니다. 사실 원래 이러한 타입 추론은 예전에는 없던 기능입니다. C# 1.x 시절만 해도 무조건 new를 동반해서 전달해야 했는데, 이에 관해서는 187 페이지의 내용을 참고하시면 좀 더 이해가 쉬울 것입니다.
정성태
2021-01-13 07시37분
[예지] 쉽게 설명해주셔서 정말 감사드립니다!!
[guest]

... 76  77  78  79  80  81  82  83  84  85  86  87  88  89  [90]  ...
NoWriterDateCnt.TitleFile(s)
213궁금이6/18/200512578Winform 형태의 NTD에서 사용자 로그인 성공 여부 정보 유지하는 방법 [1]
212궁금이6/16/200510560ActiveX 컨트롤이 NTD에 이상이 없는지요? [1]
211류성태6/15/200511143smart client에 관하여.... [1]
206헤커의작...6/14/200510100[질문] 안녕하세요. 성태님의 홈페이지에서 화면전환시 처리되는 것에 관련된 건 [3]
205김종욱 6/12/200510625com+ 에서 서버 소켓을 열고 싶고요... com+에서 thread는 어떻게 돌리는지 알고 싶습니다
209정성태6/14/200510619    답변글 [답변]: com+에서 서버 소켓을 열고 싶고요... com+에서 thread는 어떻게 돌리는지 알고 싶습니다
204정현일6/9/200510820Smart Client 실행시 SecurityException파일 다운로드1
208정성태6/14/200511229    답변글 [답변]: Smart Client 실행시 SecurityException [1]
203나그네6/9/200511084태오 사이트 Smart Client 강좌중에서요
207정성태6/14/200510656    답변글 [답변]: 태오 사이트 Smart Client 강좌중에서요
210나그네6/15/200510854        답변글 [답변]: [답변]: 태오 사이트 Smart Client 강좌중에서요파일 다운로드1
198이지훈6/2/2005100862003이랑 2005랑 함께 사용하는 방법이 없을까요?
201정성태6/6/200510726    답변글 [답변]: 2003이랑 2005랑 함께 사용하는 방법이 없을까요?
197이지훈6/2/2005107742005 에서 컴포넌트 제작
200정성태6/6/200510262    답변글 [답변]: 2005 에서 컴포넌트 제작
196김종욱5/24/200511402익스플러 툴 벤드 제작... for .NET [1]파일 다운로드1
199정성태6/6/200510876    답변글 [답변]: 익스플러 툴 벤드 제작... for .NET
202김종욱6/9/200511403        답변글 [답변]: [답변]: 익스플러 툴 벤드 제작... for .NET [1]
194홍지철5/18/200510592IE에서 Winform control embedded작성시 문제점
195정성태5/19/200511175    답변글 [답변]: IE에서 Winform control embedded작성시 문제점
192헤헤5/13/200510771이것좀봐주세요
193정성태5/13/20059884    답변글 [답변]: 이것좀봐주세요
186기범5/9/200510477안녕하세요2
187정성태5/9/200510964    답변글 [답변]: 안녕하세요2
184기범5/9/200510414안녕하세요
185정성태5/9/200510783    답변글 [답변]: 안녕하세요
... 76  77  78  79  80  81  82  83  84  85  86  87  88  89  [90]  ...