Microsoft MVP성태의 닷넷 이야기
델리게이트와 함수포인터 선언 시, 차이점 질문 있습니다. [링크 복사], [링크+제목 복사]
조회: 1046
글쓴 사람
한예지
홈페이지
첨부 파일
 
선생님 안녕하세요!

int (*fp)(int, int); // int형 반환값, int형 매개변수 두 개가 있는 함수 포인터 fp 선언

delegate int CompareDelegate(int param1, int param2);

델리게이트 선언 시, C언어의 함수 포인터와 다르게 매개변수명(param1, param2)까지 넣어주는 이유가 따로 있을까요?

생각해보면 A라는 사람이 만든 CompareDelegate에

B라는 사람이 만든 아래 메서드를 CompareDelegate에 대입하는 경우를 생각해보면

int DescendingCompare(int i1, int i2)
{
     if (i1 == i2) return 0;
     return (i1 - i2) > 0 ? 1 : -1;
}

매개변수의 타입과 리턴 타입만 필요한 것 같은데...

굳이 사용하지 않는 변수명까지 델리게이트 선언 시 넣어주는 이유가 궁금합니다.

항상 답변해 주셔서 감사합니다!








[최초 등록일: ]
[최종 수정일: 5/21/2022]


비밀번호

댓글 작성자
 



2022-05-22 12시24분
[Bigsquare] Semantics의 문제 아닐까요?

식별자로만 의미를 부여하겠다면, Func<int, int, int> CompareDelegate;
매개변수까지 의미를 부여하겠다면, delegate int CompareDelegate(int oldRecord, int newRecord);
[손님]
2022-05-23 09시04분
부가 설명을 하면, delegate를 쉽게 설명해서 C/C++의 함수 포인터와 비교를 하지만 엄밀히는 내부적으로 class 정의처럼 다룹니다. 게다가 C# 9.0부터 제대로 된 함수 포인터와 유사한 문법이 추가되었기 때문에,

C# 9.0 - (6) 함수 포인터(Function pointers)
; https://www.sysnet.pe.kr/2/0/12374

이와 비교하면 C#의 함수 포인터도 매개 변수명을 생략하는 식입니다.
정성태
2022-05-30 06시02분
[한예지] 두 분 모두 답변 감사드립니다!
[손님]

1  2  3  4  5  6  7  8  9  [10]  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
5523민우7/1/20214625도커 사용시 윈도우 이미지 생성도 가능한가요? [2]
5522질문6/28/20212767WPF에서 splash screen이 나타나는 위치를 변경할 수 있나요? [3]
5521김민혁6/24/20212328.exe 파일 에러에 관한 질문 입니다. [3]
5520한예지6/21/20212255랜덤함수 질문있습니다!! [2]
5519리얼킴6/19/20211950.net framwork 4.0 에서 4.8로 꼭 가야할까요?? [1]
5518한예지6/18/20212361ArrayList, IList에 대해 질문 있습니다. [3]
5517wu...6/18/20212554winform에서 Button 활성화, 비활성화 [4]
5516ocm6/15/20212185mips 어셈블리 연산 다시 질문드려요 (첨부파일 갱신됨) [2]파일 다운로드1
5515ocm6/14/20212413mips 어셈블리 연산 [6]파일 다운로드1
5514jo...6/11/20212447GethashCode와 String대한 질문 [2]
5513la...6/11/20212496C# Winform 에서 Label에 동일한 Color를 넣었을 때 처리방법이 궁금합니다. [2]
55126/11/20212881xlwings 가 실행조차 되지 않습니다. ㅠㅠ [7]
5511Sy...6/9/20212571User Control에 string array 속성 추가하는 방법 [4]
5510jay6/8/20212250string 문자열에 쌍따옴표(")를 넣고 싶습니다. [1]파일 다운로드1
5509한예지6/3/20212196ExeccuteNonQuery 질문있습니다! [2]
5508최재남6/3/20212440마우스 이벤트 관련 질문 좀 드리겠습니다. [6]
5507한예6/2/20212182static과 스택오버플로우 질문있습니다. [5]파일 다운로드1
5506이창석6/1/20213125센서의 값을 받아서 PC를 통해 모니터링 하는 것을 만들고 있습니다. [1]
5505kss5/31/20212082.net5에서 소멸자가 어떻게 바뀐건가요? [1]
5503xi...5/24/20212268xingapinet 에 수정 요청 부탁 드립니다. [1]
5501한예지5/23/20212136IProgress 사용법이 궁금합니다. [2]
5500한예ㅈ5/23/20212630비동기 코드 흐름 질문있습니다. [3]
5498곰장어5/21/20212129List에 static 변수를 추가했을때의 궁금증 [3]파일 다운로드1
5497지평선5/20/20212520윈도우 배율을 알 수 있을까요? [1]
5496cs...5/20/20212070C# 8.0 질문입니다. [2]파일 다운로드6
5495Na...5/13/20211945객체를 생성과 동시에 초기화 하는 방법 [1]
1  2  3  4  5  6  7  8  9  [10]  11  12  13  14  15  ...