< Programmation C sharp

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

La 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

using 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);
    }
}

En savoir plus

Cet article est issu de Wikibooks. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.