正如標題所詢問的,當您導入一個DLL(如User32.dll)並聲明方法來調用該DLL上的方法時,爲什麼需要將這些方法聲明爲Static和Extern。導入DLL時爲什麼要聲明靜態方法和Extern方法?
I.E,這是從另一個StackOverflow的答案,但演示我問。
[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
public static extern void mouse_event(uint dwFlags, uint dx, uint dy, uint cButtons, UIntPtr dwExtraInfo);
'static':因爲否則你必須以某種方式與另一方匹配實例。並處理'this'參數。 'extern',因爲你正在進口。 – 2013-03-25 15:05:25