فہرست کا خانہ:
تعریف - تصرف کا کیا مطلب ہے؟
سی # کے سیاق و سباق میں ، تصرف ایک ایسا طریقہ ہے جو میموری کی صفائی کے لئے درکار کوڈ کو عملی جامہ پہنانے اور غیر انتظام شدہ وسائل ، جیسے فائل ہینڈلز اور ڈیٹا بیس کنیکشن کی رہائی اور دوبارہ ترتیب دینے کے لئے درکار ہوتا ہے۔ تصرف سے کارکردگی بہتر ہوتی ہے اور ناقابل انتظام اشیاء اور قلیل وسائل کو جاری کرتے ہوئے میموری کو بہتر بناتا ہے ، جیسے ونڈوز کی محدود جگہ کے ساتھ استعمال کردہ گرافکس ڈیوائس انٹرفیس (GDI) ہینڈل استعمال ہوتے ہیں۔
ڈسپوز طریقہ ، جو IDisposable انٹرفیس کے ذریعہ فراہم کیا گیا ہے ، ڈسپوز کالز پر عمل درآمد کرتا ہے۔ ڈسپوز پیٹرن کو بروقت اور پیش قیاسی صفائی ، عارضی میموری کی رساو کی روک تھام اور وسائل کو ضائع کرنے کے لئے ڈیزائن کیا گیا ہے۔
ٹیکوپیڈیا ڈسپوز کی وضاحت کرتا ہے
.NET فریم ورک ردی کی ٹوکری میں جمع کرنے (GC) کی سہولت دیتا ہے ، آبجیکٹ میموری اور وسائل کا انتظام کرتا ہے اور Finalize کی مدد سے غیر موزوں آبجیکٹ میموری حوالوں کی دوبارہ دعوی کرتا ہے۔ ڈسپوز کرنے کا طریقہ آبجیکٹ میموری میموری کی زندگی بھر کو کنٹرول کرتا ہے اور فائنلائز کی امیجک کلین اپ کے مقابلے میں ، واضح میموری کو صاف ستھرا کنٹرول فراہم کرتا ہے۔ تصادم کی درخواست بھی اس وقت کی جاسکتی ہے جب میموری کی دوسری چیزوں کے واقعات موجود ہوں ، جبکہ فائنلائز کو صرف آخری میموری آبجیکٹ کو ختم کرنے کے بعد ہی طلب کیا جاسکتا ہے۔
تصرف کے طریقہ کار کے اصول مندرجہ ذیل ہیں:
- غیر منظم وسائل کے لئے استعمال کیا جاتا ہے جس کے استعمال کے بعد فوری طور پر رہائی کی ضرورت ہوتی ہے۔
- اگر ڈسپوز نہیں کہا جاتا ہے تو ، حتمی شکل دینے کا طریقہ نافذ کیا جانا چاہئے۔
- تصرف کے طریقہ کار کو کال کرنے کے بعد ، حتمی شکل دینے سے بچنے اور غیر ضروری جی سی سے بچنے کے لئے ، GC.SuppressFinalize کے طریقہ کار کو فون کرنا ضروری ہے۔
- اگر تصرف کا طریقہ ایک سے زیادہ بار استعمال کیا جاتا ہے تو استثنیات کو احتیاط سے سنبھالا جانا چاہئے۔ اگر وسائل تصرف کردیئے جاتے ہیں تو ، مثال کے طور پر کوئی بھی طریقہ آبجیکٹ ڈسپوزڈ ایگزیکشن کو پھینک سکتا ہے۔
- پہلے نام نہاد ڈسپوز طریقہ کے ساتھ کسی شے کا دوبارہ استعمال نہیں کیا جاسکتا ہے۔
- تصرف کی سفارش صرف دیسی وسائل آبجیکٹ اور اجزاء آبجیکٹ ماڈل (COM) آبجیکٹ کے انتظام کے لئے کی جاتی ہے۔ NET فریم ورک کے سامنے۔
- غیر متوقع نتائج کی وجہ سے بیک وقت متعدد تھریڈز سے تصرف کرنا ممکن نہیں ہے۔
- قدر کی اقسام کو ڈسپوز ایبل اقسام یا غیر منظم وسائل کے ممبروں کے ساتھ تشکیل نہیں دیا جانا چاہئے۔
- غیر منظم وسائل کا استعمال کرتے وقت ، سورس کوڈ کے استعمال کنندہ بیان کو لاگو کرنا بہترین عمل سمجھا جاتا ہے ، جو آبجیکٹ کوڈ کو مکمل کرنے کے بعد خود بخود آبجیکٹ کے تصرف کے طریقہ کار کا مطالبہ کرتا ہے۔