Microsoft MVP성태의 닷넷 이야기
Action 델리게이트 사용법 질문있습니다! [링크 복사], [링크+제목 복사]
조회: 5292
글쓴 사람
예지
홈페이지
첨부 파일
 
(연관된 글이 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]

1  2  3  4  [5]  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
5828김재영2/19/20233089장기적으로는 this 구문을 안쓰는게 맞을까요? [2]
5827lee2/18/20233009파이썬 설치 오류 질문입니다 [1]
5826Syong2/14/20233597Socket 관련 Leak (OverlappedAsyncResult, OverlappedData) 관련 문의 [7]파일 다운로드1
5825박성원2/14/20233161Listview 컨트롤의 화면 전환 시 갱신 속도 [1]
5823검은콩2/13/20233760catch(Exception ex)의 line번호를 쉽게 알 수 없는지요? [7]
5822김지우2/11/20233031책을 보면서 sync, async 이해가 되지 않는 부분이 있습니다. [5]파일 다운로드2
5821검은콩2/9/20233050Async 신뢰성과 소켓데이터 [4]
5820차가워2/8/20233119다른 프로세스 실행 후 포커스 가져오기 [3]
5819취준생2/7/20233275WPF 관련 실무가 궁금합니다. [3]
5818윤길2/7/20232723ObservableCollection 에서 INotifyPropertyChanged 구현해야하나요? [2]
5817흰털너부리2/7/20232859배포 시 winform 실행 콘솔로그 보는 방법 [1]
5816흰털너부리2/6/20232673.net core json array validation 질문 드립니다. [1]
5815김재영2/6/20232799종단간 암호화에 대해 시나리오인데 타당한 시나리오일까요? [2]
5814한예지 donator2/6/20233119decompile? [9]
5813김재영2/5/20233056openssl genrsa 2048시 키 생성이 다르게 됩니다. - 파일첨부 [4]파일 다운로드1
5812김재영2/5/20233328openssl genrsa 2048시 키 생성이 다르게 됩니다. [2]
5811치르바2/3/20233163MiniDumpWriteDump API로 덤프수집을 했는데요.. [3]
5810이건우1/31/20233255윈도우서비스를 통한 웹통신관련 질문입니다 [3]
5809이상훈1/31/20233699다채널 영상 디스플레이어 개발 관련 질문입니다. [3]
5808근우1/30/20233379WPF 에서 UserControl 과 ControlTemplate 의 차이점은 무엇인가요? [6]
5807궁금맨1/28/20234537C# 10 책에 나온 예제의 결과가 제 컴에서는 좀 달라서요. 이유가 궁금합니다. [1]
5806스레드1/25/20233052총정리 - 다양한 스레드들 [초안] [1]파일 다운로드1
5805어웨이트1/25/20232878Taskcontinuewith vs Async/Await [2]파일 다운로드1
5804나이많은...1/25/20232732MS의 Dependency Injection(DI)에 AddSingleton으로 등록된 객체의 Event 등록후 사용시 앱 종료시 별도로 Event를 해지해야 하나요? [2]
5803dssc...1/24/20233001드라이브 문자를 통해서 물리 디스크 명칭을 알아내고 싶습니다. [1]
5802모바일앱1/22/20232857XAMARINE vs Android Studio [7]
1  2  3  4  [5]  6  7  8  9  10  11  12  13  14  15  ...