مساحات الأسماء وتوجيهات using وglobal usings (ملاحظة)
نظّم الأنواع باستخدام مساحات الأسماء، واستوردها باستخدام using (والأسماء المستعارة)، وتجنّب تعارض الأسماء، ولاحظ أن global using أحدث من C# 6.
مساحات الأسماء وتوجيهات using وglobal usings (ملاحظة) درس مجاني في C# Academy على CoddyKit. هذا هو الدرس 2 من أصل 3. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في C# Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة C# Academy 3 دروس في المجموع.
نظرة عامة على namespace وusing
الهدف: تنظيم الشيفرة واستيرادها.
- يجمع namespace الأنواع ذات الصلة
- يستورد using مساحات الأسماء
- تحلّ الأسماء المستعارة تعارضات الأسماء
- إن global using أحدث من C# 6 (للمعلومات فقط)
تعريف namespace والنوع
عرّفوا namespace لتجميع الأنواع؛ ويمكنكم دائمًا استخدام الاسم المؤهل بالكامل للوصول إلى نوع.
using System;
namespace MyApp.Models
{
public class User
{
public string Name { get; private set; }
public User(string name) { Name = name; }
}
}
public class Program
{
public static void Main(string[] args)
{
// Fully-qualified name without using
MyApp.Models.User u = new MyApp.Models.User("Ada");
Console.WriteLine(u.Name);
}
}
أساسيات توجيه using
أضيفوا توجيه using لاستيراد مساحة أسماء، كي تتمكنوا من استخدام أسماء الأنواع المختصرة.
using System;
using MyApp.Models; // import the namespace declared previously
namespace MyApp.Models
{
public class User
{
public string Name { get; private set; }
public User(string name) { Name = name; }
}
}
public class Program
{
public static void Main(string[] args)
{
// Short type name thanks to using
User u = new User("Alan");
Console.WriteLine(u.Name);
}
}
مساحات أسماء متداخلة وFQNs
يمكن تداخل مساحات الأسماء. استخدموا الأسماء المؤهلة بالكامل عندما تريدون توضيح المقصود.
using System;
namespace Company
{
namespace Billing
{
public class Invoice { public int Number; }
}
namespace Support
{
public class Ticket { public int Id; }
}
}
public class Program
{
public static void Main(string[] args)
{
Company.Billing.Invoice inv = new Company.Billing.Invoice();
inv.Number = 1001;
Company.Support.Ticket t = new Company.Support.Ticket();
t.Id = 42;
Console.WriteLine("Invoice " + inv.Number + ", Ticket " + t.Id);
}
}
الاسم المستعار لـ using
استخدموا اسمًا مستعارًا لـ using لإزالة الالتباس بين أسماء الأنواع المتطابقة أو لاختصار الأسماء المؤهلة الطويلة.
using System;
// Two classes with the same short name in different namespaces
namespace LibA { public class Logger { public string Name = "A"; } }
namespace LibB { public class Logger { public string Name = "B"; } }
// Create aliases to disambiguate
using ALogger = LibA.Logger;
using BLogger = LibB.Logger;
public class Program
{
public static void Main(string[] args)
{
ALogger a = new ALogger();
BLogger b = new BLogger();
Console.WriteLine(a.Name + " & " + b.Name); // A & B
}
}
ملاحظة حول global using ونصائح
ملاحظة: ظهر global using في إصدارات C# الأحدث (وليس في C# 6). في C# 6، ضعوا توجيهات using في أعلى كل ملف.
- اجمعوا الأنواع ذات الصلة في مساحات أسماء واضحة.
- حافظوا على قِصر الأسماء مع دلالتها.
- استخدموا الأسماء المستعارة لحل التعارضات.
معنى توجيه using
مراجعة
مراجعة: استخدموا namespace لتنظيم الأنواع وusing لاستيرادها في كل ملف. حلّوا التعارضات باستخدام الأسماء المستعارة. إن global using ميزة أحدث؛ وفي C# 6، أبقوا توجيهات using في أعلى الملف.
الأسئلة الشائعة
هل درس «مساحات الأسماء وتوجيهات using وglobal usings (ملاحظة)» مجاني؟
نعم — نص درس «مساحات الأسماء وتوجيهات using وglobal usings (ملاحظة)» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة C# Academy، انتقل إلى CoddyKit PRO. تتضمن دورة C# Academy 3 دروس في المجموع.
ماذا ستتعلم في «مساحات الأسماء وتوجيهات using وglobal usings (ملاحظة)»؟
نظّم الأنواع باستخدام مساحات الأسماء، واستوردها باستخدام using (والأسماء المستعارة)، وتجنّب تعارض الأسماء، ولاحظ أن global using أحدث من C# 6. تتمرن على C# Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ C# Academy؟
لا تُشترط خبرة سابقة. C# Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 3.
كم من الوقت يستغرق درس «مساحات الأسماء وتوجيهات using وglobal usings (ملاحظة)»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس C# Academy هذا؟
نعم. كل درس في C# Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- public وinternal وprotected وprivate (مع ملاحظة حول file)
- مساحات الأسماء وتوجيهات using وglobal usings (ملاحظة)
- الأنواع والملفات الجزئية