محدوده های #C سی شارپ
محدوده های #C سی شارپ
هنگامی که مفاهیم متدها را بیان می کردیم، گفتیم که متدها جامع هستند . این مورد تاثیر مهمی در نوع تعریف و اسـتفاده از متغییـرها در متد دارد. فرض کنید که دو متد به صورت زیر دارید که در هر کدام متغییری رشته ای به نام strName تعریف شده است :
private void DisplaySebastiansName()
{
// Declare variable and set value
string strName = “Sebastian Blackwood”;
// Display results
MessageBox.Show(strName, “Scope Demo”);
}
private void DisplayBalthazarsName()
{
// Declare variable and set value
string strName = “Balthazar Keech”;
//Display results
MessageBox.Show(strName, “Scope Demo”);
}
با وجود اینکه هر دوی این متغییرها از متغییری با نام یکسان استفاده می کنند، اما هر کدام از ایـن متغییرهـا در محـدوده متـد خـودتعریف شده اند. در امتحان کنید بعدی این مورد را مشاهده خواهید کرد .
)1 یک پروژه ویندوزی جدید به نام Scope Demo در ویژوال استودیو ایجاد کنید .
)2 یک کنترل Button جدید به فرم اضافه کنید . خاصیت Name آن را برابـر btnScope و خاصـیت Textآن را برابر Scope دهید. روی آن دو بار کلیک کنید و در متد ایجاد شده، کد مشخص شده در زیر را اضافه کنید:
private void btnScope_Click(object sender, EventArgs e)
{
// Call a method
DisplayBalthazarsName();
}
private void DisplaySebastiansName()
{
// Declare variable and set value
string strName;
strName = “Sebastian Blackwood”;
// Display results
MessageBox.Show(strName, “Scope Demo”);
}
private void DisplayBalthazarsName()
{
// Declare variable and set value
string strName;
strName = “Balthazar Keech”;
// Display results
MessageBox.Show(strName, “Scope Demo”);
}
)3 برنامــه را اجــرا کنیــد و بــر روی دکمــه Scope کلیــک کنیــد. کــادر پیغــامی را مــشاهده خواهیــد کــرد کــه نــامBalthazar Keech را نمایش می دهد .
همانطور که مشاهده کردید، در این تمرین با وجود اینکه دو متغییر با نام یکسان ولی در مکانهای متفاوت داریم، برنامه ب ه درستی کارمی کند .
private void DisplaySebastiansName()
{
// Declare variable and set value
string strName;
strName = “Sebastian Blackwood”;
// Display results
MessageBox.Show(strName, “Scope Demo”);
}
private void DisplayBalthazarsName()
{
// Declare variable and set value
string strName;
strName = “Balthazar Keech”;
١٠۶
// Display results
MessageBox.Show(strName, “Scope Demo”);