تخطَّ إلى المحتوى

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 الكامل بالعربي.