Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Memanggil Perpustakaan C# (Termasuk Komponen WPF) daripada 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(); } }
}
`
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; }
}
`
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!