Programmation C sharp/Appel de plateforme
L'appel de plateforme permet au code géré (managed code) de faire appel à du code non géré (unmanaged code) contenu dans une bibliothèque externe, utilisant du code natif à la plateforme.
Syntaxe
modifierLa méthode externe doit être déclarée comme statique (mot clé static
) et externe (mot clé extern
) ce qui signifie qu'il ne faut aucun bloc de code.
Cette méthode doit obligatoirement utiliser l'attribut DllImport
de l'espace de nom System.Runtime.InteropServices
afin de déclarer le nom de la DLL utilisée et d'autres paramètres optionnels permettant l'interopérabilité avec l'application .Net.
Il est conseillé de déclarer ces méthodes externes dans une classe séparée.
Exemple
modifierusing System.Runtime.InteropServices;
public class Win32
{
[DllImport("user32.dll", CharSet=CharSet.Auto)]
public static extern IntPtr MessageBox
(int hWnd, String text, String caption, uint type);
}
public class HelloWorld
{
public static void Main()
{
Win32.MessageBox
(0, "Hello World", "Platform Invoke Sample", 0);
}
}