When Importing a DLL Why Do Methods Have To Be Declared Static and Extern?
<p>As the title asks, when you import a DLL such as User32.dll and declare methods to call methods on that DLL why do the methods need to be declared as Static and Extern.</p>

<p>I.E, this was taken from another StackOverflow answer, but demonstrates what I'm asking.</p>

<pre><code>[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);
</code></pre>
