#1
|
||||
|
||||
الدرس السابع والعشرون : IEnumerable interface دورة .net 2008
بسم الله الرحمن الرحيم . السلام عليكم ورحمة الله وبركاته . نواصل الآن دروسنا مع ال interfaces ، سنتعرض الآن ولثلاث دروس قادمة عن كيفية عمل فئة أو كلاس يقوم بعمل implement لل interface معين ، في هذا الدرس سنبدأ ب interface المسمى IEnumerable وما هي الفائدة المرجوة وراء ذلك . بداية أرجو منك أن تركز جيداً في هذا الدرس ، فهذا واحد من الدروس التي ستلاحقنا كثيراً أثناء تطبيق مبادئ Linq . لنفترض ان لدينا فئة مصفوفة أسماء تحتوي على عدة بيانات بالشكل التالي : C#: كود PHP:
كود PHP:
C#: كود PHP:
كود PHP:
هذا لو كنا نعتمد على array ، تجد اننا نستخدم دالة للدوران على كافة العناصر ، سنقوم بتوسيع المثال نوعاً ليكون ذلك بالاعتماد على فئة ، سنفترض فئة الموظفين بالشكل التالي : C#: كود PHP:
كود PHP:
وليكن لدينا كلاس آخر يحتوي على بيانات المستخدمين ، حيث ان المستخدم هو عبارة عن مجموعة من الموظفين بالشكل التالي مثلاً : c#: كود PHP:
كود PHP:
C#: كود PHP:
كود PHP:
الشكل الاساسي لل interface المسمى IEnumerable : C#: كود PHP:
كود PHP:
C#: كود PHP:
vb.net: كود PHP:
لذا لو كنا نرغب في ان نجعل فئة users تقوم بعمل implements لهذا الانترفيس ، سنضطر لعمل implement للدالة GetEnumerator() ، سيكون ذلك بالشكل التالي : C#: كود PHP:
كود PHP:
C#: كود PHP:
كود PHP:
في الواقع فأي مبرمج لقواعد البيانات يستطيع ان يستنتج العلاقة بسهولة ، إن ما نحن بصدده هنا هو مثال عن فئة تحتوي على مجموعة من البيانات اشبه بقاعدة بيانات ، واصبح باستطاعنا الآن القراءة منها والتنقل فيها باستخدام moveNext . استخدام yield بدلاً من الكود السابق قم بكتابة الكود التالي : كود PHP:
في هذه الحالة ومع اول استدعاء للدالة سيتم اعادة القيمة الأولى ، ثم الثانية فالثالثة وهكذا حتى نصل إلى yield break . نستعرف على واحدة من أهم الاستخدامات الفعلية عندما نصل إلى Linq ، وحتى ذلك الحين أتمنى ألا تغفل عينك عن هذا الانترفيس . والله الموفق ... والسلام عليكم ورحمة الله وبركاته .
|
|
|
المواضيع المتشابهه | ||||
الموضوع | كاتب الموضوع | المنتدى | مشاركات | آخر مشاركة |
الدرس السادس والعشرون : ال Interfaces دورة .net 2008 | khaledbelal | دورة .NET 2008 من منتدى فيجوال بيسك للعرب | 0 | 02-24-2010 01:44 PM |
الدرس السابع : if statement - دورة سي شارب 2008 | khaledbelal | دورة CSharp 2008 من منتديات حور العين الاسلامية | 0 | 02-22-2010 09:35 PM |
الدرس الثالث والعشرون : ال Abstract دورة .net 2008 | khaledbelal | دورة .NET 2008 من منتدى فيجوال بيسك للعرب | 0 | 02-22-2010 01:57 PM |
الدرس الثاني والعشرون : ال polymorphism دورة .net 2008 | khaledbelal | دورة .NET 2008 من منتدى فيجوال بيسك للعرب | 0 | 02-22-2010 01:54 PM |
الدرس السابع عشر : مقدمة إلى مبادئ Oop دورة .net 2008 | khaledbelal | دورة .NET 2008 من منتدى فيجوال بيسك للعرب | 0 | 02-19-2010 08:16 PM |