نهج بديل لP/Invoc المعتاد الخاص بك!
استخدم واجهات C# للربط بالكود الأصلي - استخدام سريع وسهل لواجهة برمجة تطبيقات C في كود C#، على أي نظام أساسي. لقد ولت أيام DllImport
المعطلة والحلول المزعجة لأوقات التشغيل المختلفة.
متوافق تمامًا مع Mono و.NET Framework و.NET Core و.NET Standard. متوافق مع رسم خرائط Mono DLL على جميع الأنظمة الأساسية وأوقات التشغيل. قابلة للتكوين والتكيف.
extern
. استخدم واجهة برمجة التطبيقات الأصلية الخاصة بك كما لو كانت كائنات من الدرجة الأولى.اقرأ المستندات، أو قم بالتثبيت عبر NuGet وابدأ.
Nullable<T>
string
بدون أي تعليمات برمجية إضافيةأعلن عن الواجهة الخاصة بك
public interface IMyNativeLibrary
{
long MyNativeGlobal { get ; set ; }
int MyNativeMultiply ( int a , int b ) ;
void MyOtherNativeFunction ( MyStruct strct , ref MyStruct ? maybeStruct ) ;
}
تفعيلها
const string MyLibraryName = "MyLibrary" ;
var activator = new NativeLibraryBuilder ( ) ;
var library = activator . ActivateInterface < IMyNativeLibrary > ( MyLibraryName ) ;
استخدمه
library . MyNativeGlobal = 10 ;
var result = library . MyNativeMultiply ( 5 , 5 ) ;
var myStruct = new MyStruct ( ) ;
MyStruct ? myOtherStruct = null ;
library . MyOtherNativeFunction ( myStruct , ref myOtherStruct ) ;
راجع البداية السريعة لمزيد من المعلومات.
احصل عليه على NuGet!
إذا كانت رخصة المكتبة لا تناسب مشروعك أو منتجك، يرجى الاتصال بنا. تتوفر خيارات الترخيص المخصصة، ونحن دائمًا منفتحون على العمل على شيء يناسبك - سواء كان معدلاً أو تجاريًا أو غير ذلك.
الإصدار العام لـ AdvancedDLSupport مرخص بموجب ترخيص GNU العام الأصغر، الإصدار 3 (LGPLv3). راجع الترخيص للحصول على التفاصيل. وبدون دعم حركة المصادر المفتوحة، لم يكن من الممكن وجودها على الإطلاق.