منتدى رياض الجنة - Riad Al-Ganah

منتدى رياض الجنة - Riad Al-Ganah (https://montada.khaledbelal.com/index.php)
-   دورة .NET 2008 من منتدى فيجوال بيسك للعرب (https://montada.khaledbelal.com/forumdisplay.php?f=57)
-   -   الدرس الرابع عشر : this دورة .net 2008 (https://montada.khaledbelal.com/showthread.php?t=531)

khaledbelal 02-19-2010 07:58 PM

الدرس الرابع عشر : 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.


الساعة الآن 06:49 AM.

Powered by vBulletin® v3.8.4, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. , TranZ By Almuhajir
النسخة الفضية

Ads Management Version 3.0.1 by Saeed Al-Atwi

a.d - i.s.s.w