0 امتیاز
ببخشید ممنون میشم در مورد کلمات کلیدی base و this توضیح بدین....

1 پاسخ

+1 امتیاز

کلمه کلیدی  base اشاره به کلاس والد دارد. برای مثال، کلاس B را به صوورت زیر تغییر می دهیم:

 

public class B : A
{
    public void PrintParentItems()
    {
        Console.WriteLine(base.Item1 + " " + base.Item2);
    }
}

در مثال بالا، کلمه کلیدی base به کلیه اعضای والد اشاره می کند. زمانی که شما از کلمه کلیدی base داخل کلاس استفاده می کنید، تنها اعضای کلاس والد به شما نمایش داده شده و اعضای کلاس فرزند به شما نمایش داده نمی شوند.

 


كلمه كليدي this در سي شارپ به فيلدهاي كلاس كنوني اشاره می کند. به مثال زير توجه كنيد:

class Employee
{
    string FullName;
    int EmpID;
    double CurrentPay;

    public Employee(string FullName, int EmpID, double CurrentPay)
    {

        FullName = FullName;
        EmpID = EmpID;
        CurrentPay = CurrentPay;
    }
}

 

در اين مثال مشخص نيست هنگام ذكر نام متغيرها در Constructor به پارامترهاي آن اشاره مي كنيم و يا به فيلدهاي هم نام در كلاس. براي واضح كردن اين مورد مي توان به شكل زير با استفاده از كلمه كليدي this مشكل را حل كرد:

class Employee
{
    string FullName;
    int EmpID;
    double CurrentPay;

    public Employee(string FullName, int EmpID, double CurrentPay)
    {

        this.FullName = FullName;
        this.EmpID = EmpID;
        this.CurrentPay = CurrentPay;
    }
}
سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,919 کاربر

دسته بندی ها

...