2005 년부터 C# 대의원 번역 프로젝트를 C# 2003로 번역
-
18-09-2019 - |
문제
VS2003에서 컴파일하려고합니다 무질서 C# 2005에서 만들어진 프로젝트. 한 줄을 제외하고는 다음과 같습니다.
proc = HookCallback;
이것은 오류를 제공합니다메소드 'Mousetracking.mousetracker.hookCallback (int, system.intptr, system.intptr)'괄호없이 참조
HookCallback에 parantheses를 추가하면 얻을 수 있습니다'hookCallback'메소드에 대한 오버로드 없음 '0'인수를 가져옵니다.
기능 인수를 유형, 변수 이름 및 둘 다를 추가하려고 시도했지만 아무도 작동하지 않습니다.
관련 정의는 다음과 같습니다.
private LowLevelMouseProc proc;
private delegate IntPtr LowLevelMouseProc (int nCode, IntPtr wParam, IntPtr lParam);
private IntPtr HookCallback (int nCode, IntPtr wParam, IntPtr lParam) {…}
이것을 컴파일하는 방법을 알고 있습니까? 몇 가지를 추가하고 조정하고 싶습니다.
정말 감사합니다.
해결책
HookCallback을 대의원으로 사용하는 것 같습니다. C# 1에서는 대의원 생성자를 사용하여 대의원을 만들어야합니다. 메소드 이름 만 사용할 수 없습니다.C# 2+에서 할 수 있습니다).
유형을 살펴보십시오 proc
, 그리고 그것을 사용하여 다음과 같은 새로운 대의원을 만듭니다.
proc = new LowLevelMouseProc(HookCallBack);
다른 팁
prot = new LowLevelMouseProc(HookCallBack);
제휴하지 않습니다 StackOverflow