namespace X;
الـ namespace محدود النطاق بالملف (File-Scoped) namespace X;
منذ C# 10، كتابة namespace X; بلا أقواس تجعل كل أنواع الملف داخل ذلك الـ namespace، فيقلّ مستوى واحد من المسافة البادئة في كل الملف.
الصياغة التقليدية تحيط كل محتوى الملف بأقواس namespace { ... }، فيضيف مستوى إزاحة (indentation) لكل سطر. الصياغة الجديدة namespace X; بفاصلة منقوطة بدل الأقواس تعني أن كل ما بعدها في الملف ينتمي لذلك الـ namespace تلقائيًا — بلا أقواس وبلا إزاحة إضافية.
ملف واحد لا يمكن أن يحتوي أكثر من إعلان file-scoped namespace واحد، ولا يمكن تضمين namespace متداخل بداخله.
الصياغة
namespace CompanyName.ProjectName;
class MyClass { }📄 مثال
namespace MyApp.Models;
public class Product
{
public string Name { get; set; } = "";
}أهم النقاط
| العنصر | الوظيفة |
|---|---|
| namespace X; | بفاصلة منقوطة بدل أقواس — يسري على باقي الملف كاملًا |
| namespace واحد لكل ملف | لا يمكن الجمع مع namespace متداخل آخر في نفس الملف |
| متوفّرة منذ | C# 10 |
💡 نصائح عملية
- استخدمها في كل ملف جديد يحتوي نوعًا واحدًا فقط في namespace واحد — الحالة الأشيع في المشاريع الحديثة
⚠️ أخطاء شائعة
- محاولة إضافة namespace متداخل آخر داخل ملف يستخدم بالفعل file-scoped namespace — غير مسموح، فقط namespace واحد لكل ملف
خصائص ذات صلة
🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار CSHARP الكامل بالعربي.