تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[نقاش] استعمال Using
#1
السلام عليكم و رحمة الله و بركاته

أقرأ في كثير من الأمثلة استعمال الصيغة التالية :

كود :
Using .......
.
.
.
End Using

و لكني لم أستطع تحديد دورها في الكود

سؤالي هو متى نستعملها و هل هي إجبارية

السلام عليكم و رحمة الله و بركاته
الرد }}}
تم الشكر بواسطة: hoob computer
#2
وعليكم السلام ورحمة الله

اخي العزيز يستخدم هذا الكود في كثير من الاحيان مع الاكواد التي تحتاج الى فتح وغلق اتصال أو مع الـObjects المنشئة من فئة معينة Class. مثال على ذلك الـStreams للتعامل مع الملفات بمختلف انواعها أو مع قواعد البيانات من فتح وغلق الاتصال مع الـServer وهكذا

الفائدة من استخدام Using هو وضع الكود داخل نطاق معين وبذلك يكون عمل الكود الموضوع داخل الـUsing مقتصر فقط في تلك النطاق وهذا مفيد لتخليص الذاكرة من الـObjects وهي ليست اجبارية لك ان تستخدمها أو لا. لكن مفيدة جدا.

مثال:

PHP كود :
using (var sw = new StreamWriter("Path"))
            {
                
            } 

تحياتي
الرد }}}
#3
شكرا للاخ سجاد على الاجابة الرائعة والمفيدةHeart


فقط للإفادة اكثر ساشرح باسلوب تقني ...


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

فعندما لانستخدم using قد ننسى استدعاء Dispose ، او ربما قد يحصل خطأ في الاكواد ماقبل استدعاء Dispose يؤدي الى تفادي المترجم كود الاستدعاء ولا يستدعيDispose ، ولكن في حالة Using سيقوم بتدمير الفئة سواء حصل خطأ او لا .


طبعا كما قال الاخ سجاد هذا شيئ ثانوي ولست ملزوم باستعماله ، ولكنني افضل استعماله لأني اهتم للذاكرة بشكل كبير فقد فشلت في احد برامجي بسبب استهلاكه الكبير للذاكرة.
الرد }}}
#4
السلام عليكم و رحمة الله و بركاته

شكر و امتنان للأخوين الكريمين على الجواب الشافي و الكافي .

السلام عليكم و رحمة الله و بركاته
الرد }}}
تم الشكر بواسطة: yahya



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم