Appel d'une bibliothèque .NET native à partir de Python
Votre objectif est d'exécuter une bibliothèque .NET à partir de votre code Python. Pour y parvenir, nous éviterons d'utiliser IronPython et explorerons plutôt la possibilité d'appeler du code C# depuis Python.
Tout d'abord, vous devrez installer le package NuGet « UnmanagedExports » dans votre projet .NET. Ce package vous permet d'exporter des méthodes .NET sans interopérabilité COM.
Voici un exemple modifié de votre code C# :
using System; using System.Collections.Generic; using System.Runtime.InteropServices; using RGiesecke.DllExport; class Test { [DllExport("add", CallingConvention = CallingConvention.Cdecl)] public static int TestExport(int left, int right) { return left + right; } }
Une fois compilé, vous pouvez charger le .dll dans votre code Python et accédez aux méthodes exportées :
import ctypes a = ctypes.cdll.LoadLibrary(source) a.add(3, 5)
Cela invoquera la méthode TestExport dans votre bibliothèque C#, renvoyant la somme des deux nombres passés à ça.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!