کلیدواژه namespace برای اعلان حوزه (scope) استفاده می شود. این حوزه فضای نام به شما اجازه می دهد که کدتان را سازماندهی کنید و راهی برای ساختن نوع های منحصر بفرد را ارائه می دهد.
ملاحضات
شما می توانید یک یا بیش از یکی از موارد زیر را در داخل یک namespace اعلان کنید:
- یک namespace دیگر
- class
- interface (رابط)
- struct (ساختار)
- enum (نوع شمارشی)
- delegate (وکیل/نماینده)
در هرصورت چه صریحا" در فایل کد منبع (Source file) سی شارپ ، namespace را اعلان کنید و چه اینکار را انجام ندهید، کامپایلر یک namespace اضافه می کند. در بعضی مواقع به عنوان فضای نامی سراسری به این namespace بی نام، رجوع می شود که در همه فایل ها موجود است. هر شناسه ای که در فضای نامی سراسری وجود دارد، برای استفاده در یک namespace نامدار قابل دسترسی است.
namespace ها بصورت ضمنی (تلویحی) سطح دسترسی public (عمومی) دارند و نمی توان آنها را اصلاح کرد. (یعنی نمی توان سطح دسترسی آنها را مثلا" با private تغییر داد)
می توان یک namespace را در دو یا بیش از دو اعلان، تعریف کرد. برای نمونه، مثال زیر دو کلاس را به عنوان قسمتی از فضای نام MyCompany تعریف می کند:
مثال
مثال زیر چگونگی فراخوانی یک متد static از یک namespace تودرتو را نشان می دهد.