PDA

View Full Version : سوال: چگونه object را از بین میبرند



Hossenbor
پنج شنبه 01 اسفند 1387, 07:53 صبح
چگونه میتوان object ی را که برای مثال فقط در اول برنامه استفاده می کنیم از بین ببریم

Salar Ashgi
پنج شنبه 01 اسفند 1387, 08:59 صبح
سلام ، اگه منظورتون Object یک کلاسی هست که خودتون طراحی کردید ، چون سی شارپ خاصیت

Garbage Collection دارد به جز در موارد خاص شما نیازی به طراحی تابع مخرب کلاس ، Destructor ندارید

و خود کامپایلر عمل مدیریت حافظه را انجام میدهد !!!

موفق و پیروز باشید !!!

Hossenbor
پنج شنبه 01 اسفند 1387, 09:31 صبح
سلام ، اگه منظورتون Object یک کلاسی هست که خودتون طراحی کردید ، چون سی شارپ خاصیت

Garbage Collection دارد به جز در موارد خاص شما نیازی به طراحی تابع مخرب کلاس ، Destructor ندارید

و خود کامپایلر عمل مدیریت حافظه را انجام میدهد !!!

موفق و پیروز باشید !!!

ببخشید میشه درباره مخرب وGarbage Collection ومتدApplication.Exit()(الگوریتم بستن فرم یا اگه شد کد آن)توضیح بدهید

h.jaza
جمعه 02 اسفند 1387, 00:08 صبح
در این باره، SMRAH1 به تفصیل بحث کردن و در تاپیک های دیگه ای هم بحث شده.
نمونه:
Dispose و لزوم استفاده از آن (http://barnamenevis.org/forum/showthread.php?t=142152)

در صورتی که جوابتون رو نگرفتین، ادامه بدین.

احمد سامعی
جمعه 02 اسفند 1387, 11:12 صبح
سلام ، اگه منظورتون Object یک کلاسی هست که خودتون طراحی کردید ، چون سی شارپ خاصیت

Garbage Collection دارد به جز در موارد خاص شما نیازی به طراحی تابع مخرب کلاس ، Destructor ندارید

و خود کامپایلر عمل مدیریت حافظه را انجام میدهد !!!

موفق و پیروز باشید !!!

براي متغير هايي كه فقط تو يك تابع برنامه نياز هست و مي دونيم كه ديگه اين تابع فراخواني نمي شه بايد چي كار كرد ؟ آيا نياز به تخريب هست؟

h.jaza
جمعه 02 اسفند 1387, 13:29 عصر
نیازی نیست، البته حالا که این تابع فقط تو فضای خودش تعریف میشه، اگر با متغیراش بیرون از فضای تابع کاری نداری، می تونی اونا رو هم داخل همون فضا تعریف کنی که با خاتمه ی تابع، فضای گرفته شده توسط اون متغیر ها هم release بشه، در غیر اینصورت، بازم نیازی به release دستی نیست (چرا که باز بعد از خاتمه ی محدوده ی کلاس مورد استفاده کننده، خود ویژوال استودیو اون رو توسط release ،GC می کنه) مگر خیلی حافظه اشغال کنه که در این صورت، با مراجعه با لینکی که دادم، بحث کاملا برای شما جا خواهد افتاد.