فہرست کا خانہ:
تعریف - DllImport انتساب کا کیا مطلب ہے؟
DllImport انتساب ایک اعلامیہ ٹیگ ہے جو C # میں طبقاتی طریقے کو نشان زد کرنے کے لئے استعمال کیا جاتا ہے کیونکہ کسی NET اسمبلی میں بجائے کسی بیرونی متحرک لنک لائبریری (DLL) میں اس کی تعریف کی جارہی ہے۔
DllImport انتساب کو چلنے کے وقت استعمال کیا جاتا ہے غیر منظم کوڈ کے ساتھ نافذ ایک بیرونی DLL میں برآمد فنکشن کو کال کرنے کے لئے جو عام زبان کے رن ٹائم (سی ایل آر) کے کنٹرول سے باہر عمل میں لایا جاتا ہے۔ اس تقریب کو کال کرنے کے دوران درکار دیگر معلومات کی وضاحت کرنے کے لئے بھی استعمال کیا جاتا ہے جیسے کالنگ کنونشن ، نظم و ضبط اور غیر منظم کوڈ کے مابین منظور شدہ پیرامیٹرز کی قسم وغیرہ۔ اس طرح ، یہ ونڈوز میں رہائش پذیر اور غیر قانونی اجزاء میں کوڈ کے ساتھ مداخلت کرنے کے لئے استعمال ہوتا ہے۔ DLLs اور C یا C ++ میں لکھا ہوا ہے۔
ڈیل امپورٹ ان حالات میں مددگار ہے جہاں کسی منظم ایپلی کیشن کی فعالیت ، جس کا کوڈ سی ایل آر کے ذریعہ چلایا جاتا ہے ، صرف ون 32 ایپلی کیشن پروگرامنگ انٹرفیس (API) اور دوسرے صارف کی وضاحت شدہ ، غیر منظم انتظام کوڈ کی عملداری کو دوبارہ حاصل کرنے اور دوبارہ استعمال کرکے ہی بڑھایا جاسکتا ہے۔ DLL میں۔ اس سے ترقیاتی کاوشوں کو بچایا جاسکتا ہے اور ایک منظم ایپلی کیشن میں پہیے کو دوبارہ لگائے بغیر موجودہ مضبوط اور اچھی طرح سے تجربہ شدہ کوڈ کا استعمال کیا جاسکتا ہے۔ عام طور پر DLL استعمال کرتے وقت اس کی ضرورت ہوتی ہے جسے دوبارہ نہیں لکھا جاسکتا لیکن اس میں ترمیم کرنے کی صلاحیت موجود ہوتی ہے۔
ٹیکوپیڈیا DllImport انتساب کی وضاحت کرتا ہے
DllImport انتساب برآمدی فنکشن کے لئے ایک اعلامیہ بیان ہوتا ہے جسے منیجڈ ایپلی کیشن سے طلب کیا جاتا ہے۔ اس کو ممبر فنکشن کے لئے استعمال نہیں کیا جاسکتا ، جس کے لئے کلاس کی مثال درکار ہوتی ہے۔ اس کا اطلاق اس طریقہ کار کے اعلان سے پہلے مربع منحنی خطوط وحدانی کے اندر ڈیزائن کے وقت کیا جاتا ہے جس کے لئے اس کا اطلاق ہوتا ہے۔ تقریب کے اعلامیہ سے پہلے تار "بیرونی" استعمال کرنا ضروری ہے۔
مثال کے طور پر ، DllImport وصف ونڈوز فارمس ایپلی کیشن میں استعمال کیا جاسکتا ہے ، جو کچھ حساب کتابیاں انجام دینے کے لئے جزو آبجیکٹ ماڈل کے اجزاء (جس کا کوڈ غیر منظم ہے) کے طریقہ کار کی درخواست کرنے کے لئے ایک منظم ایپلی کیشن ہے۔
یہ روایتی ڈی ایل ایل کو درآمد کرنے کے لئے ڈیزائن کیا گیا ہے جو اپنے ونڈوز ڈی ایل ایل برآمدی طریقہ کار کا استعمال کرتے ہوئے اپنے افعال کو برآمد کرتے ہیں۔ یہ منظم اسمبلی میں کوڈ استعمال کرنے کا ارادہ نہیں ہے (بطور ڈی ایل ایل) ، جس کا حوالہ براہ راست منطق شدہ درخواست کے پروجیکٹ میں کیا جاسکتا ہے۔
DllImport انتساب CLR کے انٹرپروسس کا استعمال کرتا ہے ، جو انتظام شدہ کوڈ سے غیر انتظام شدہ کوڈ تک کال پر عمل درآمد کرتا ہے۔ یہ مرتب کرنے والے کو استعمال شدہ فنکشن کے نفاذ کے مقام کے بارے میں بھی آگاہ کرتا ہے۔ جب انتظام شدہ کوڈ میں اس وصف کے ساتھ غیر منظم شدہ ریپر فنکشن کو بلایا جاتا ہے تو ، سی ایل آر مطلوبہ ڈی ایل ایل کو ڈھونڈتا ہے اور لوڈ کرتا ہے۔ یہ مارشل (تفصیلات کے مطابق پیرامیٹرز کو تبدیل کرتا ہے) اور پیرامیٹرز کی مناسب تبدیلی کے ساتھ عملدرآمد کے بعد غیر منظم شدہ کوڈ کو واپس کرتا ہے۔
DllImport انتساب کا استعمال کرتے ہوئے ، DLL اور برآمد شدہ فنکشن کا صحیح نام استعمال کرنے کے لئے دیکھ بھال کرنے کی ضرورت ہے کیونکہ ٹائپوس ایسی جگہوں پر ہوسکتی ہے جہاں ان کا آسانی سے پتہ نہیں چل سکتا ہے۔