Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mengeksport Fungsi C# untuk Dipanggil oleh Kod Tidak Terurus?
Mengeksport Fungsi daripada C# DLL
Tidak seperti dalam VS C/C di mana extern "C" __declspec(dllexport) boleh digunakan untuk mengeksport fungsi , C# memerlukan pendekatan yang berbeza.
Tidak terurus Eksport
Satu penyelesaian ialah menggunakan pakej NuGet UnmanagedExports. Pakej ini membolehkan anda menghiasi kaedah statik dengan atribut [DllExport], yang membolehkannya dieksport untuk digunakan dalam kod asli.
[DllExport] static int AddNumbers(int a, int b) { return a + b; }
DLLExport
Satu lagi pilihan ialah menggunakan perpustakaan DLLExport dari GitHub. Ia menyediakan fungsi yang serupa dengan UnmanagedExports.
[DllExport] public static int AddNumbers(int a, int b) { return a + b; }
Limitation
Adalah penting untuk ambil perhatian bahawa mengeksport fungsi daripada C# DLLs mempunyai beberapa had. Khususnya, fungsi yang dieksport dengan cara ini hanya boleh dipanggil oleh kod tidak terurus, seperti C . Jika anda memerlukan komunikasi antara C# dan kod terurus lain, anda mungkin perlu menggunakan mekanisme lain seperti perpustakaan saling kendali.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeksport Fungsi C# untuk Dipanggil oleh Kod Tidak Terurus?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!