السلام عليكم , طبعا المقال غريب عنوانه شوي , لكن ليه علاقة وطيده جدا بالموضوع الذي سوف نتحدث عنه , سبب الحديث عن هذا الموضوع هو عملية بحث قام بها صديق مجهولة الهوية تحت عنوان " ما فائدة this في السي شارب "
عزيزي السائل سأحاول قدر المستطاع تبسيط الفكرة , لنضرب المثل التالي , تخيل انك متزوج وحده اسمها نوف مثلا , و ايضا بوك متزوج امراء اخرى اسمها نوف و هيا ليست امك يعني مرات ابوك , الفكرة , انت و الولد الله يحفظه جالسين على وجبة الغذاء مثلا و خلص الخبز او ارز او اي حاجة استعدت انك تنادي على نوف ! و هنا مربط الفرس اذا استخدمت اسم نوف فأي نوف انت تقصد , مرات ابوك و لا زوجتك !
الان لنتحدث بشكل جدي اكثر , خذ نفس الفكرة تقريبا و جيبها على عالم سي شارب , الشفرة التالية :
1: private int ID;
2: private string name;
3: private string location;
4: private Emp manager = null;
5: 6: public Dept (int ID, string name, string location, Emp manager)
7: { 8: ID = ID; 9: name = name; 10: location = location; 11: manager = manager; 12: }الشفرة مرة بسيطة عندي حقول و عندي مشيد , لاحظ في المشيد اقوم بتعين قيم للحقول , و هنا ايضا مربط الفرس اي متغير انت تقصده بضبط ! المتغير اللي جاي مع المشيد و لا الحقل ! عشان كده احنا نستخدم this حتى يفهم المترجم , انو اقصد المتغير هذا بحد ذاته او الطريقة هذي بحذ ذاته , الشفرة بعد التصحيح :
1: private int ID;
2: private string name;
3: private string location;
4: private Emp manager = null;
5: 6: public Dept (int ID, string name, string location, Emp manager)
7: {8: this.ID = ID;
9: this.name = name;
10: this.location = location;
11: this.manager = manager;
12: }, يعتبر استخدام كلمة this احد شروط الاساسية لكتابة شفرة سي شارب موافقة لمقاييس مايكروسوفت , تستخدام this في ثلاث حلات :
- عند استخدام طريقة ما داخل نفس التصنيف .
- عند استخدام الحقول كما في المثال السابق .
- عند استخدام الخصائص داخل التصنيف .
