Aufrufen einer nativen .NET-Bibliothek aus Python
Ihr Ziel ist es, eine .NET-Bibliothek aus Ihrem Python-Code heraus auszuführen. Um dies zu erreichen, vermeiden wir die Verwendung von IronPython und prüfen stattdessen die Möglichkeit, C#-Code aus Python aufzurufen.
Zuerst müssen Sie das NuGet-Paket „UnmanagedExports“ in Ihrem .NET-Projekt installieren. Mit diesem Paket können Sie .NET-Methoden ohne COM-Interoperabilität exportieren.
Hier ist ein modifiziertes Beispiel Ihres C#-Codes:
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; } }
Nach der Kompilierung können Sie die DLL in Ihren Python-Code laden und greifen Sie auf die exportierten Methoden zu:
import ctypes a = ctypes.cdll.LoadLibrary(source) a.add(3, 5)
Dadurch wird die TestExport-Methode in Ihrer C#-Bibliothek aufgerufen und die Summe der beiden zurückgegeben Nummern werden ihm übergeben.
Das obige ist der detaillierte Inhalt vonWie kann ich eine native .NET-Bibliothek aus Python aufrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!