08-02-14, 12:35 PM
شكرا للاخ سجاد على الاجابة الرائعة والمفيدة
فقط للإفادة اكثر ساشرح باسلوب تقني ...
كل الفئات المشتقة من الواجهة IDisposable تحتوي على اجراء يسمى Dispose وهو يقوم بتدمير الفئة وتخليص الذاكرة منها.
فالذي تفعله Using بالضبط هو فقط شيئ واحد وهو استدعاء Dispose عند نهاية البلوك سواء حصل خطأ في الاكواد السابقة او لا
فعندما لانستخدم using قد ننسى استدعاء Dispose ، او ربما قد يحصل خطأ في الاكواد ماقبل استدعاء Dispose يؤدي الى تفادي المترجم كود الاستدعاء ولا يستدعيDispose ، ولكن في حالة Using سيقوم بتدمير الفئة سواء حصل خطأ او لا .
طبعا كما قال الاخ سجاد هذا شيئ ثانوي ولست ملزوم باستعماله ، ولكنني افضل استعماله لأني اهتم للذاكرة بشكل كبير فقد فشلت في احد برامجي بسبب استهلاكه الكبير للذاكرة.

فقط للإفادة اكثر ساشرح باسلوب تقني ...
كل الفئات المشتقة من الواجهة IDisposable تحتوي على اجراء يسمى Dispose وهو يقوم بتدمير الفئة وتخليص الذاكرة منها.
فالذي تفعله Using بالضبط هو فقط شيئ واحد وهو استدعاء Dispose عند نهاية البلوك سواء حصل خطأ في الاكواد السابقة او لا
فعندما لانستخدم using قد ننسى استدعاء Dispose ، او ربما قد يحصل خطأ في الاكواد ماقبل استدعاء Dispose يؤدي الى تفادي المترجم كود الاستدعاء ولا يستدعيDispose ، ولكن في حالة Using سيقوم بتدمير الفئة سواء حصل خطأ او لا .
طبعا كما قال الاخ سجاد هذا شيئ ثانوي ولست ملزوم باستعماله ، ولكنني افضل استعماله لأني اهتم للذاكرة بشكل كبير فقد فشلت في احد برامجي بسبب استهلاكه الكبير للذاكرة.

