タイトルが示すように、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);