PDA

View Full Version : dispose In dataTable



مهدی هادیان2
جمعه 30 تیر 1391, 11:30 صبح
بسم الله الرحمن الرحیم

با سلام

1) بعد از استفاده از دیتا تیبل لازم است که آنرا Dispose کنیم؟



DataSource.Dispose();
return DataSource;
2)کد بالا درست اجرا میشه. و سوال من اینکه اگه واقعا Dispose عمل میکنه چطور در خط بعد میتونه اون رو برگردونه؟

با تشکر

Sirwan Afifi
جمعه 30 تیر 1391, 12:32 عصر
دوست عزیز شما می تونید DataTable رو درون بلاک Using قرار بدید در این حالت مطمئن می شید که بعد از اتمام کار خودش اتوماتیک Dispose میشه :

using (DataTable table = new DataTable())
{
}

fjm11100
جمعه 30 تیر 1391, 12:51 عصر
نیازی به این کار نیست خود GC عموما وقتی یک بلوک کد تمام بشه تمام منابعی که اون بلوک برای برنامه گرفته بودند را آزاد میکنه. ضمنا کدت مشکل داره دیگه وقتی dispose کردی چی را میخوای برگردونی؟

مهدی هادیان2
جمعه 30 تیر 1391, 14:15 عصر
نیازی به این کار نیست خود GC عموما وقتی یک بلوک کد تمام بشه تمام منابعی که اون بلوک برای برنامه گرفته بودند را آزاد میکنه. ضمنا کدت مشکل داره دیگه وقتی dispose کردی چی را میخوای برگردونی؟

با سلام
از پاسختون ممنون
تعجب من هم از همین بود که چه جوری وقتی Dispose شده می تونه برگدونه. چون کاملا به درستی Return می کنه!

مهدی هادیان2
جمعه 30 تیر 1391, 14:18 عصر
دوست عزیز شما می تونید DataTable رو درون بلاک Using قرار بدید در این حالت مطمئن می شید که بعد از اتمام کار خودش اتوماتیک Dispose میشه :

using (DataTable table = new DataTable())
{
}
با سلام
ممنون از اینکه وقت گذاشتید.
واقعیتش کدهام رو زدم و به این مطلب توجه نداشتم که دیتا تیبل ها رو Dispose کنم؛ و اگه الان بخوام از using استفاده کنم برخی از بلوک هام به هم میخوره و نگران این هستم که نکنه اشتباهی رخ بده.
در ضمن در برخی از سایت ها دیدم که نیازی به Dispose کردن دیتا تیبل نیست.
با سپاس