Microsoft MVP성태의 닷넷 이야기
Action 델리게이트 사용법 질문있습니다! [링크 복사], [링크+제목 복사]
조회: 2652
글쓴 사람
예지
홈페이지
첨부 파일
 
안녕하세요!

스레드에서 아래와 같은 코드를 봤습니다.
.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분
[예지] 쉽게 설명해주셔서 정말 감사드립니다!!
[손님]

[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
5765ho...12/1/202275Winform(.Net6) 클라이언트에서 SignalR Core 웹서버에 접속시 인증서 문제 [3]파일 다운로드1
5764요한11/30/202282c++ 동일한 객체인지 비교 방법문의 [2]
5763고필석11/30/202276시작하자마자 비정상 종료하는 프로세스에 대한 문제 해결 조언 요청 드립니다. [3]
5762흰털...11/30/202273wpf mvvm ui update 로딩중 표시 [1]
5761민성11/29/202278죄송하지만 한가지만 더 여쭈어 보겠습니다 [1]
5760민성11/29/202270안녕하세요 [2]
5759문정환11/28/202293c# socket 통신할때 빅엔디언으로 바꿔줘야 하나요? [1]
5758라떼11/28/2022103Linux 에서 winform UI 어플리케이션 실행하기 [3]
5757흰털...11/25/2022148asp.net core EF AddDbContext,AddDbContextFactory 차이점 알려주세요 [1]
5756흰털...11/25/2022110asp.net core web api에서 json 특정 property 무시하는 방법 문의 드립니다. System.Text.Json 사용중입니다. [1]
5755문정환11/24/2022266싱글스레드 프로그램도 컨텍스트 스위칭이 생길 수 있나요? [4]
5754초급11/24/2022179c# 소켓통신 [1]
5753흰털...11/24/2022205List와 ObservableCollection을 비교 해서 다른 값 추출 FirstOrDefault 객체 비교 [4]파일 다운로드1
5752푸헐11/15/2022316app.config 에 connectionStrings를 aspnet_regiis로 enctyption [4]
5751차가워11/8/2022469vs2022 preview net7 AOT 콘솔 실행 성능 [7]
5749차가워11/4/2022564전처리 지시문 #if DEBUG 배포시 실행 여부 [1]
5748김기헌11/3/2022571안녕하세요 선생님 싱글톤 패턴을 꼭 이렇게 사용해야 하나요? [6]
5747김기헌11/2/2022391안녕하세요 선생님 네트워크 관련 용어 중 IP 주소가 왜 논리적 주소라고 표현되는 건가요? [2]
5746물냉...11/2/2022445서로 다른 클래스에 있는 동일 함수의 일괄 호출 방법에 대해 궁금합니다. [3]
5745흰털...11/1/2022404.net core web api 사용 제한에 관한 질문 입니다. [2]
5744차가워10/31/2022394윈폼 Console.WriteLine(); 연산 문의 [1]
5743흰털...10/27/2022425reflection, static, override 질문입니다. [1]
5742차가워10/27/2022378하나의 socket에 여러 스레드가 접근 하는 경우 [1]
5741조호상10/27/2022425OpenCVSharp4 구현 가능 문의 [1]
5740혜성10/26/2022504Visual Studio 2022 C# 콘솔 프로그램 기본 코드 변경된 이유는 무엇인가요? [2]
[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...