Aller au contenu

Programmation C sharp/Appel de plateforme

Un livre de Wikilivres.
Programmation C#
Programmation C#
Modifier ce modèle

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.

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.

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

[modifier | modifier le wikicode]