从 Python 调用本机 .NET 库
您的目标是从 Python 代码中执行 .NET 库。为了实现这一目标,我们将避免使用 IronPython,而是探索从 Python 调用 C# 代码的可能性。
首先,您需要将“UnmanagedExports”NuGet 包安装到您的 .NET 项目中。此包允许您导出没有 COM 互操作性的 .NET 方法。
这是 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; } }
编译后,您可以将 .dll 加载到 Python 代码中并访问导出的方法:
import ctypes a = ctypes.cdll.LoadLibrary(source) a.add(3, 5)
这将调用 C# 库中的 TestExport 方法,返回传递给它的两个数字。
以上是如何从 Python 调用本机 .NET 库?的详细内容。更多信息请关注PHP中文网其他相关文章!