如何从 python 调用 C# 代码



我编写了一个用于连接到Microsoft SharePoint的C#代码,但我需要从python调用它,这意味着我想让python运行这段代码,可能吗?如果是,我该怎么做?

简短的回答是

os.system("myapp.exe")

这实际上很容易。只需使用 NuGet 将"非托管导出"包添加到 .Net 项目。有关详细信息,请参阅 https://sites.google.com/site/robertgiesecke/Home/uploads/unmanagedexports。

然后,您可以直接导出,而无需执行 COM 层。下面是示例 C# 代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using RGiesecke.DllExport;
class Test
{
    [DllExport("add", CallingConvention = CallingConvention.Cdecl)]
    public static int TestExport(int left, int right)
    {
        return left + right;
    }
}

然后,您可以加载 dll 并在 Python 中调用公开的方法(适用于 2.7(

import ctypes
a = ctypes.cdll.LoadLibrary(source)
a.add(3, 5)

相关内容

  • 没有找到相关文章