正如标题所问,当您导入诸如 User32.dll 之类的 DLL 并声明调用该 DLL 上的方法的方法时,为什么需要将这些方法声明为静态和外部。
IE,这是取自另一个 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);