V programech v C# často musíme přímo volat základní API poskytovaná Windows, abychom lépe řídili provoz programu, ale protože C# běží na . Nemůžeme volat spravované jazyky v Net CLR tím, že přímo zahrneme .h hlavičku Win32 API jako jazyk C++. Naštěstí nám Microsoft od samého začátku poskytl možnost mapovat funkce v API Win32 do C# kódu pomocí atributu DllImport. [DllImport("user32.dll", EntryPoint = "FindWindow")] public static extern int FindWindow( string lpClassName, struna lpWindowName); Mezi nimi user32.dll specifikuje název dynamické knihovny Win32, kterou je třeba importovat, zatímco vlastnost EntryPoint specifikuje definici názvu funkce, která má být mapována v knihovně Win32. Je třeba poznamenat, že v C# musí být jakákoli funkce C#, která je potřeba použít jako externí proxy funkce, deklarována jako veřejný statický extern ***.
|