Maison > développement back-end > C++ > Comment puis-je appeler une bibliothèque C# (y compris des composants WPF) à partir de Python ?

Comment puis-je appeler une bibliothèque C# (y compris des composants WPF) à partir de Python ?

Mary-Kate Olsen
Libérer: 2024-12-28 21:01:14
original
357 Les gens l'ont consulté

How Can I Call a C# Library (Including WPF Components) from Python?

Appel de la bibliothèque C# depuis Python

En supposant que vous avez essayé d'utiliser IronPython mais que vous avez rencontré des difficultés, vous pouvez plutôt envisager d'appeler votre code C# depuis Python. Cette approche peut être particulièrement utile si vous disposez d'une bibliothèque C# qui inclut des composants WPF, comme l'exemple suivant :

`csharp
using System.Runtime.InteropServices;
using System.EnterpriseServices;

espace de noms DataViewerLibrary
{

public interface ISimpleProvider
{
   [DispIdAttribute(0)]
   void Start();
}

[ComVisible(true)]
[ClassInterface(ClassInterfaceType.None)]
public class PlotData : ServicedComponent, ISimpleProvider
{
   public void Start()
   {
      Plot plotter = new Plot();
      plotter.ShowDialog();
   }
}
Copier après la connexion

}
`

Pour appeler ce code C# depuis Python, vous pouvez utiliser le package NuGet « UnmanagedExports ». En installant ce package, vous pouvez exporter le code C# sans créer de couche COM. Voici un exemple de la façon dont vous pouvez procéder :

`csharp
en utilisant System ;
en utilisant System.Collections.Generic;
en utilisant System.Linq;
en utilisant System.Runtime. InteropServices;
en utilisant System.Text;
en utilisant System.Threading.Tasks;
using RGiesecke.DllExport;

class Test
{

[DllExport("add", CallingConvention = CallingConvention.Cdecl)]
public static int TestExport(int left, int right)
{
    return left + right;
}
Copier après la connexion

}
`

Une fois que vous avez exporté le code C#, vous pouvez charger la DLL et appeler les méthodes exposées depuis Python :

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

Ceci La méthode fournit une approche pratique pour appeler des bibliothèques C#, y compris celles qui utilisent des composants WPF, à partir du code Python.

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 de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal