Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Memanggil Perpustakaan C# (Termasuk Komponen WPF) daripada Python?

Bagaimanakah Saya Boleh Memanggil Perpustakaan C# (Termasuk Komponen WPF) daripada Python?

Mary-Kate Olsen
Lepaskan: 2024-12-28 21:01:14
asal
297 orang telah melayarinya

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

Memanggil Pustaka C# daripada Python

Dengan mengandaikan anda telah mencuba menggunakan IronPython tetapi menghadapi kesukaran, anda boleh mempertimbangkan untuk memanggil kod C# anda daripada Python. Pendekatan ini amat berguna jika anda mempunyai perpustakaan C# yang merangkumi komponen WPF, seperti contoh berikut:

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

ruang nama 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();
   }
}
Salin selepas log masuk

}
`

Untuk memanggil kod C# ini daripada Python, anda boleh menggunakan pakej NuGet "UnmanagedExports." Dengan memasang pakej ini, anda boleh mengeksport kod C# tanpa membuat lapisan COM. Berikut ialah contoh cara anda boleh melakukannya:

`csharp
menggunakan Sistem;
menggunakan System.Collections.Generic;
menggunakan System.Linq;
menggunakan System.Runtime. InteropServices;
menggunakan System.Teks;
menggunakan System.Threading.Tasks;
menggunakan RGiesecke.DllExport;

Ujian kelas
{

[DllExport("add", CallingConvention = CallingConvention.Cdecl)]
public static int TestExport(int left, int right)
{
    return left + right;
}
Salin selepas log masuk

}
`

Sebaik sahaja anda telah mengeksport kod C#, anda boleh memuatkan DLL dan memanggil kaedah terdedah daripada Python:

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

Ini kaedah menyediakan pendekatan yang mudah untuk memanggil perpustakaan C#, termasuk yang menggunakan komponen WPF, daripada kod Python.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memanggil Perpustakaan C# (Termasuk Komponen WPF) daripada Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan