سمة DllImport

مؤلف: Lewis Jackson
تاريخ الخلق: 8 قد 2021
تاريخ التحديث: 13 قد 2024
Anonim
Append the WPF Window ContextMenu using Interop
فيديو: Append the WPF Window ContextMenu using Interop

المحتوى

التعريف - ماذا تعني خاصية DllImport؟

سمة DllImport هي علامة تعريفية مستخدمة في C # لتمييز طريقة فئة كما يتم تعريفها في مكتبة ارتباط ديناميكي خارجية (DLL) بدلاً من أي تجميع .NET.

يتم استخدام سمة DllImport في وقت التشغيل لاستدعاء دالة تم تصديرها في DLL خارجي يتم تنفيذها باستخدام تعليمات برمجية غير مُدارة يتم تنفيذها خارج نطاق التحكم في وقت تشغيل اللغة العامة (CLR). يستخدم أيضًا لتحديد المعلومات الأخرى المطلوبة أثناء استدعاء الوظيفة مثل اصطلاح استدعاء ، ونوع تحويل المعلمات التي تم تمريرها بين التعليمات البرمجية المدارة وغير المدارة ، إلخ. وبالتالي ، يتم استخدامه للتفاعل مع التعليمات البرمجية في المكونات غير المُدارة والموروثة الموجودة في Windows DLLs ومكتوبة في C أو C ++.

يعد DllImport مفيدًا في المواقف التي يمكن فيها توسيع وظيفة التطبيق المُدار ، والذي يتم تنفيذ التعليمات البرمجية الخاصة به بواسطة CLR ، فقط عن طريق الوصول إلى وظيفة واجهة برمجة تطبيقات Win32 (API) وغيرها من الرموز غير المدارة المعرفة من قبل المستخدم والتي يتم تنفيذها في DLL. يمكن أن يوفر ذلك جهود التطوير ويستفيد من الشفرة القوية والمختبرة جيدًا دون إعادة اختراع العجلة في تطبيق مُدار. عادة ما تكون هناك حاجة إليه أثناء استخدام ملفات DLL التي لا يمكن إعادة كتابتها ولكن لها القدرة على التعديل.


مقدمة إلى Microsoft Azure و Microsoft Cloud | من خلال هذا الدليل ، سوف تتعرف على الحوسبة السحابية التي تدور حولها وكيف يمكن أن يساعدك Microsoft Azure على ترحيل عملك وإدارته من السحابة.

يشرح Techopedia سمة DllImport

السمة DllImport هي عبارة تعريف للدالة التي تم تصديرها ليتم استدعاؤها من التطبيق المدار. لا يمكن استخدامه لوظيفة العضو ، والتي تتطلب مثيلًا للفئة. يتم تحديده في وقت التصميم داخل الأقواس المربعة قبل إعلان الطريقة التي يتم تطبيقه عليها. من الضروري استخدام السلسلة "extern" قبل إعلان الوظيفة.

على سبيل المثال ، يمكن استخدام سمة DllImport في تطبيق Windows Forms ، وهو تطبيق مدار لاستدعاء طريقة لمكون طراز كائن مكون (رمزه غير مُدار) لإجراء بعض العمليات الحسابية.

وهو مصمم لاستيراد DLLs التقليدية التي تقوم بتصدير وظائفها باستخدام آلية تصدير Windows DLL الأصلية. إنه غير مخصص لاستخدام التعليمات البرمجية في التجميع المدار (مثل DLL) ، والتي يمكن الرجوع إليها مباشرة في مشروع التطبيقات المدارة.

تستخدم سمة DllImport InteropServices من CLR ، والتي تنفذ المكالمة من التعليمات البرمجية المدارة إلى التعليمات البرمجية غير المُدارة. كما يبلغ المترجم عن موقع تنفيذ الوظيفة المستخدمة. عندما يتم استدعاء وظيفة المجمّع غير المُدارة بهذه السمة في التعليمات البرمجية المدارة ، يقوم CLR بتحديد موقع DLL الضروري وتحميله. يقوم المنظمون (بتحويل المعلمات وفقًا للمواصفات) وإرجاع التعليمات البرمجية غير المُدارة بعد التنفيذ ، إلى جانب التحويل الصحيح للمعلمات.

أثناء استخدام سمة DllImport ، يجب توخي الحذر لاستخدام الاسم الصحيح لـ DLL والدالة التي تم تصديرها لأن الأخطاء المطبعية قد تحدث في أماكن لا يمكن اكتشافها بسهولة.