الأنواع والملفات الجزئية
قسّم النوع بين ملفات باستخدام الفئات والهياكل الجزئية، واستخدم الأساليب الجزئية لربط المنطق المخصص بالشيفرة المُنشأة.
الأنواع والملفات الجزئية درس مجاني في C# Academy على CoddyKit. هذا هو الدرس 3 من أصل 3. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في C# Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة C# Academy 3 دروس في المجموع.
نظرة عامة على الأنواع الجزئية
الهدف: تقسيم الأنواع الكبيرة بطريقة منظمة.
- partial class/struct: نفس namespace والاسم
- تُوزَّع عادةً على ملفات متعددة
- partial methods: نقاط ربط اختيارية داخل الأنواع الجزئية
أجزاء partial class
يمكن تعريف partial class في أجزاء متعددة. يدمجها المصرّف في نوع واحد.
using System;
namespace Demo
{
// Part 1: data
public partial class Person
{
public string Name { get; private set; }
public Person(string name) { Name = name; }
}
// Part 2: behavior
public partial class Person
{
public string Greet() { return "Hi " + Name; }
}
}
public class Program
{
public static void Main(string[] args)
{
Demo.Person p = new Demo.Person("Ada");
Console.WriteLine(p.Greet());
}
}
الأساليب الجزئية
تُعد Partial methods نقاط ربط وقت الترجمة: إذا لم تُنفَّذ، يُحذف الاستدعاء. في C# 6، يجب أن تكون void وأن تكون private.
using System;
namespace Demo
{
public partial class Processor
{
// Partial method: implicitly private, must return void in C# 6
partial void OnProcessed(string item);
public void Run(string item)
{
// do work...
OnProcessed(item); // call hook (removed by compiler if not implemented)
}
}
public partial class Processor
{
// Implementation lives in another part (often another file)
partial void OnProcessed(string item)
{
Console.WriteLine("Processed: " + item);
}
}
}
public class Program
{
public static void Main(string[] args)
{
Demo.Processor p = new Demo.Processor();
p.Run("report");
}
}
متى تستخدمون partial
حالات الاستخدام:
- وضع الشيفرة التي ينشئها المصمم أو المولّد في ملف، وتعديلاتكم الآمنة في ملف آخر.
- تقسيم الأنواع الكبيرة حسب الميزة: البيانات مقابل السلوك.
- إضافة نقاط ربط اختيارية عبر partial methods.
partial struct
يمكنكم أيضًا تقسيم structs باستخدام partial؛ والنتيجة نوع struct واحد وقت الترجمة.
using System;
namespace Demo
{
public partial struct Pair
{
public int A;
}
public partial struct Pair
{
public int B;
public int Sum() { return A + B; }
}
}
public class Program
{
public static void Main(string[] args)
{
Demo.Pair p = new Demo.Pair();
p.A = 2; p.B = 3;
Console.WriteLine("Sum = " + p.Sum());
}
}
قواعد partial ونصائح
نصائح:
- يجب أن تستخدم جميع الأجزاء namespace والاسم ومعدّل الوصول نفسه.
- اجعلوا كل ملف مركزًا على غرض محدد (مُولَّد مقابل يدوي).
- في C# 6، تكون الأساليب الجزئية void وprivate؛ لذا اجعلوها صغيرة جدًا.
الغرض من partial class
مراجعة
مراجعة: استخدموا partial لتقسيم الأنواع على ملفات متعددة، وأضيفوا partial methods لنقاط الربط الاختيارية. حافظوا على وجود الأجزاء في namespace والاسم نفسيهما، ودعوا المصرّف يدمجها.
الأسئلة الشائعة
هل درس «الأنواع والملفات الجزئية» مجاني؟
نعم — نص درس «الأنواع والملفات الجزئية» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة C# Academy، انتقل إلى CoddyKit PRO. تتضمن دورة C# Academy 3 دروس في المجموع.
ماذا ستتعلم في «الأنواع والملفات الجزئية»؟
قسّم النوع بين ملفات باستخدام الفئات والهياكل الجزئية، واستخدم الأساليب الجزئية لربط المنطق المخصص بالشيفرة المُنشأة. تتمرن على C# Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ C# Academy؟
لا تُشترط خبرة سابقة. C# Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 3.
كم من الوقت يستغرق درس «الأنواع والملفات الجزئية»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس C# Academy هذا؟
نعم. كل درس في C# Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- public وinternal وprotected وprivate (مع ملاحظة حول file)
- مساحات الأسماء وتوجيهات using وglobal usings (ملاحظة)
- الأنواع والملفات الجزئية