مشخصات مقاله
-
4497
-
0.0
-
17016
-
0
-
0
Namespace در سی شارپ (C# namespace)
وقتی توی یک پروژه C# تعداد کلاسها و بخشهای مختلف برنامه زیاد میشه، مدیریت و دستهبندی اونها هم اهمیت بیشتری پیدا میکنه. اینجاست که Namespace یا فضای نام به کارمون میاد و کمک میکنه بخشهای مرتبط برنامه رو داخل گروههای مشخص و مرتب قرار بدیم.
اگه در مسیر یادگیری C# هستی، آشنایی با Namespace یکی از مفاهیمیه که بهت کمک میکنه ساختار پروژه و نحوه سازماندهی کلاسها رو بهتر درک کنی. توی ادامه با چند مثال ساده میبینیم فضای نام دقیقاً چیه، چطور ایجاد میشه و چطور میتونیم به اعضای اون دسترسی داشته باشیم.
فضاهای نام ( Namespace ) در زبان سی شارپ برای دستهبندی کلاسها استفاده میشن. همونطور که تعداد بقیه اجزای یک پروژه نرمافزاری ممکنه زیاد بشه، تعداد کلاسها هم میتونه بالا بره. در چنین شرایطی به یک روش مناسب و منطقی برای دستهبندی و مدیریت اونها و همچنین کنترل دسترسی به اعضای مختلف نیاز داریم. Namespace دقیقاً برای همین کار در اختیارمون قرار گرفته.
فضای نام در واقع بخشی از کده که با یک اسم مشخص شناخته میشه. این اسم میتونه هر چیزی باشه؛ مثلاً اسم یک شخص، شرکت یا حتی یک شهر.
معرفی فضاهای نامی ( Namespace )
- اول از همه برنامه Microsoft Visual Studio رو اجرا کنید.
- برای ساخت یک پروژه جدید، از منوی اصلی روی گزینههای File -> New Project کلیک کنید.
- از فهرست سمت چپ، گزینه Windows رو انتخاب کنید.
- حالا از لیست سمت راست روی Empty Project کلیک کنید.
- اسم پروژه رو به DepartmentStore4 تغییر بدید.
- حالا روی OK کلیک کنید.
- برای ایجاد یک فایل جدید، از منوی اصلی گزینههای Project -> Add New Item... رو انتخاب کنید.
- از لیست سمت چپ گزینه Code رو انتخاب کنید.
- در لیست سمت راست روی Code File کلیک کنید.
- اسم فایل رو به DepartmentStore تغییر بدید و روی Add کلیک کنید.
- داخل فایل خالی، دستورات زیر رو وارد کنید.
public class DepartmentStore
{
static int Main()
{
return 0;
}
}
ایجاد فضای نام به صورت دستی
برای ایجاد یک فضای نام، کد رو با کلمه کلیدی namespace شروع میکنیم و بعد از اون اسم بخش موردنظر رو مینویسیم. روی قسمتی که میخوای فضای نام داخل اون ایجاد بشه راستکلیک کن و بعد روی Insert Snippet... دوبار کلیک کن. درست مثل کلاس، محدودهای که متعلق به فضای نام هست با علامت «{» شروع میشه و با «}» به پایان میرسه.
مثال:
namespace Business
{
}
داخل علامتهای {} میتونیم هر چیزی رو که مربوط به این فضای نام هست قرار بدیم. برای مثال، میتونیم یک کلاس داخل فضای نام ایجاد کنیم. به مثال زیر توجه کنید.
namespace Business
{
class House
{
}
}
نحوه ایجاد فضای نام
برای این کار، فایل رو به شکل زیر تغییر بدید.
public class DepartmentStore
{
static int Main()
{
return 0;
}
}
namespace Store
{
public class StoreItem
{
public int itemNumber;
public string itemName;
public decimal unitPrice;
}
}
فضای نامی که به صورت اتوماتیک ایجاد شده
برای ایجاد یک کلاس جدید، از منوی اصلی روی گزینه Project -> Add Class... کلیک کنید. همچنین میتونید در پنجره Solution Explorer روی اسم پروژه موردنظر راستکلیک کنید و بعد گزینه Project -> Add -> Class... رو انتخاب کنید. در پنجره Class View هم میتونید روی اسم پروژه راستکلیک کرده و گزینه Project -> Add -> Class... رو انتخاب کنید. با استفاده از هرکدوم از روشهای بالا، برنامه Microsoft Visual C# 2010 Express یا Microsoft Visual Studio بهصورت خودکار یک فضای نام با اسم پروژه ایجاد میکنه و بعد کلاس جدید رو داخل اون قرار میده.
دسترسی به اعضای فضای نام
بعد از اینکه اعضای یک فضای نام رو ایجاد کردی، برای دسترسی به آیتم موردنظر میتونی از عملگر نقطه (.) استفاده کنی. به این صورت که اول اسم فضای نام رو مینویسی، بعد عملگر نقطه (.) و در نهایت اسم عضوی که میخوای بهش دسترسی داشته باشی رو قرار میدی.
مثال:
namespace Business
{
public class House
{
public string propertyNumber;
public decimal price;
}
}
public class Exercise
{
static void Main()
{
Business.House property = new Business.House();
Console.WriteLine(property.propertyNumber = "D294FF");
Console.WriteLine(property.price = 425880);
Console.ReadLine();
}
}
- برای دسترسی به محتوای فضای نام، فایل رو به شکل زیر تغییر بدید.
public class DepartmentStore
{
static int Main()
{
Store.StoreItem si = new Store.StoreItem();
si.itemNumber = 613508;
si.itemName = "Merino Crew Neck Cardigan";
si.unitPrice = 80.00M;
System.Console.WriteLine("Store Inventory");
System.Console.Write("Item #: ");
System.Console.WriteLine(si.itemNumber);
System.Console.Write("Item Name: ");
System.Console.WriteLine(si.itemName);
System.Console.Write("Unit Price: ");
System.Console.WriteLine(si.unitPrice);
System.Console.ReadKey();
return 0;
}
}
namespace Store
{
public class StoreItem
{
public int itemNumber;
public string itemName;
public decimal unitPrice;
}
}
- برنامه رو اجرا کنید.
Store Inventory Item #: 613508 Item Name: Merino Crew Neck Cardigan Unit Price: 80.00
اگه با مفاهیم پایه C# آشنا شدی و میخوای یادگیری این زبان رو منظمتر ادامه بدی، میتونی در ادامه مسیر از دوره آموزش C# استفاده کنی و مباحث مختلف این زبان رو بهصورت اصولی و کاربردی دنبال کنی.