عرض مشاركة واحدة
  #1  
قديم 02-19-2010, 07:58 PM
الصورة الرمزية khaledbelal
khaledbelal khaledbelal غير متواجد حالياً
مبرمج المنتدى
الادارة تكليف لا تشريف
 
تاريخ التسجيل: Oct 2009
العمر: 34
المشاركات: 3,606
افتراضي الدرس الرابع عشر : this دورة .net 2008

بسم الله الرحمن الرحيم .
السلام عليكم ورحمة الله وبركاته .

لتوضيح مفهوم الكلمة المحجوزة this في السي شارب ، سنعود إلى المثال في الدرس السابق مباشرة ، والذي قمنا فيه بعمل Constructor بالشكل التالي :

c#:
كود PHP:
        public Person(string userfirstname)
        {
            
FirstName userfirstname;
        } 
vb.net:
كود PHP:
Public Sub New(ByVal userfirstname As String
    
FirstName userfirstname 
End Sub 
لو افترضنا الآن اننا سنقوم بتغيير اسم البارميتر ليكون FirstName بالشكل التالي مثلاً :

C#:
كود PHP:
public Person(string FirstName)
{
FirstName FirstName;

VB.net:
كود PHP:
Public Sub New(ByVal FirstName As String
    
FirstName FirstName 
End Sub 
في هذه الحالة للاسف سيفهم الكومبايلر انك تجعل FirstName البارميتر يساوي نفسه ، ولن ينظر إلى FirstName كمتغير ضمن الاوبجكت . لتعريف الكومبايلر بإنك تقصد ان المتغير الموجود في الاوبجكت = البارميتر المرسل سنستخدم الكلمة this في C# أو Me في VB.net والتي ستشير إلى المتغير الموجود في الاوبجكت الحالي :

C#:
كود PHP:
public Person(string FirstName)
{
this.FirstName FirstName;

VB.net:

كود PHP:
Public Sub New(ByVal FirstName As String
    
Me.FirstName FirstName 
End Sub 
حتى في الحالة السابقة التي تطرقنا لها في الدرس السابق ، فإن استخدام this سيكون مناسب دائماً ، ابسط اسباب ذلك هو اظهار قائمة بالعناصر الموجودة في الاوبجكت وقت البرمجة منذ اللحظة التي تكتب فيها this.


توقيع : khaledbelal



(أَفَأَمِنَ أَهْلُ الْقُرَى أَن يَأْتِيَهُمْ بَأْسُنَا بَيَاتاً وَهُمْ نَآئِمُونَ {97} أَوَ أَمِنَ أَهْلُ الْقُرَى أَن يَأْتِيَهُمْ بَأْسُنَا ضُحًى وَهُمْ يَلْعَبُونَ {98}
أَفَأَمِنُواْ مَكْرَ اللّهِ فَلاَ يَأْمَنُ مَكْرَ اللّهِ إِلاَّ الْقَوْمُ الْخَاسِرُونَ {99}).
سورة الأعراف.

رد مع اقتباس