ホームページ >バックエンド開発 >C++ >IronPython を使用せずに Python から C# ライブラリを呼び出すにはどうすればよいですか?

IronPython を使用せずに Python から C# ライブラリを呼び出すにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-30 10:56:11574ブラウズ

How Can I Call C# Libraries from Python Without Using IronPython?

Python からの C# ライブラリの呼び出し

Python から C# ライブラリを呼び出そうとすることは、よくある問題です。 IronPython などのオプションでは互換性の問題が発生する可能性がありますが、代わりのアプローチは、Python から C# コードを呼び出すことです。

これを実現するには、次の手順に従います。

UnmanagedExports NuGet パッケージの利用

次の説明に従って、「UnmanatedExports」NuGet パッケージを .Net プロジェクトに統合します。 https://sites.google.com/site/robertgiesecke/Home/uploads/unmanagedexports.

COM を使用しないエクスポート機能

「UnmanagedExports」を使用すると、エクスポートできますCOM 層をバイパスして直接機能します。次のサンプル C# コードを考えてみましょう:

using System;
using RGiesecke.DllExport;

class Test
{
    [DllExport("add", CallingConvention = CallingConvention.Cdecl)]
    public static int TestExport(int left, int right)
    {
        return left + right;
    }
}

Python でエクスポートされた関数のロードと呼び出し (2.7)

Python では、DLL をロードして、エクスポートされたメソッドを呼び出すことができます。以下のように:

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

以上がIronPython を使用せずに Python から C# ライブラリを呼び出すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。