Maison >développement back-end >C++ >Comment puis-je appeler une bibliothèque .NET native depuis Python ?

Comment puis-je appeler une bibliothèque .NET native depuis Python ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-05 15:35:40868parcourir

How Can I Call a Native .NET Library from Python?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn