English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دليل أساسي لتعلم C#

دليل متقدم لتعلم C#

C# موجه للبرمجة العنصرية (OOP)

الصفحة الجزئية والطرق في C# (Partial)

في C#، يمكن استخدام كلمة المفتاح partial لتقسيم تنفيذ الفئات، الهياكل، الطرق أو الواجهات عبر عدة ملفات .cs. عند تجميع البرنامج، يقوم محرر الكود بدمج جميع التنفيذيات من ملفات متعددة.

انظر إلى ملفات employeeprops.cs و employeemethods.cs التي تحتوي على فئة Employee.

public partial class Employee
{
    public int EmpId { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public int Age { get; set; }
}
public partial class MyPartialClass
{
    public Employee(int Id, string name)
    {
        this.EmpId = Id;
        this.Name = name;
    }
    public void DisplayEmployeeInfo()
    {
        Console.WriteLine(this.EmpId + " " + this.FirstName + " " + this.LastName);
    }
    public void Save(int id, string firstName, string lastName)
    {
        Console.WriteLine("Saved!");
    }
}

في هذا الجزء، يحتوي ملف EmployeeProps.cs على خصائص فئة Employee، بينما يحتوي ملف employeememethods.cs على جميع طرق فئة Employee. سيتم تجميع هذه الفئات إلى فئة واحدة Employee.

public class Employee
{
    public int EmpId { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public int Age { get; set; }
    public Employee(int Id, string name)
    {
        this.EmpId = Id;
        this.Name = name;
    }
    public void DisplayEmployeeInfo()
    {
        Console.WriteLine(this.EmpId + " " + this.FirstName + " " + this.LastName);
    }
    public void Save(int id, string firstName, string lastName)
    {
        Console.WriteLine("Saved!");
    }
}

قواعد الفئة المقطعة

  • يجب أن تكون جميع الفئات المقطعة معينة في نفس المجموعة والاسم المكان.

  • يجب أن يكون جميع الأجزاء لها نفس مستوى الحماية، مثل عام أو خاص، إلخ.

  • إذا تم إعلان أي جزء كمعادلة أو مغلقة أو نوع أساسي، فإن الإعلان الكامل للفئة يتم إعلانه بنفس النوع.

  • يمكن أن يكون لديها الفئات المقطعة أنواع أساسية مختلفة، لذا ستنشأ الفئة النهائية من جميع الأنواع الأساسية.

  • يمكن استخدام修饰ل partial فقط قبل كلمات المفتاح class، struct أو interface.

  • يُسمح بالتداخل في الفئات أو الهياكل المقطعة.

الطريقة المقطعة

يمكن للفئات أو الهياكل المقطعة أن تحتوي على طريقة يمكن تقسيمها إلى جزأين منفصلين من ملفات .cs. يجب أن يحتوي ملف واحد من هذه الملفات على اسم الطريقة، يمكن للملفات الأخرى أن تحتوي على تنفيذ اختياري للطريقة المقطعة. يجب أن يحتوي الإعلان والتنفيذ على كلمة المفتاح partial.

public partial class Employee
{
    public int EmpId { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public int Age { get; set; }
    partial void GenerateEmployeeId();
}
public partial class MyPartialClass
{
    partial void GenerateEmployeeId()
    {
        this.EmpId = random();
    }
}

في الأعلى، ملف employeeprops.cs يحتوي على اسم معادلة DisplayEmployeeInfo، ملف employeemethods.cs يحتوي على تنفيذه. سينسق الماكينوم عند التجميع جميع الأجزاء في جزء واحد.

إنه يتطلب إدراج اسم الطريقة الجزئية، ولكن لا يتطلب تقديم التنفيذ. إذا تم استدعاء هذا الطريقة ولكن لم يتم تنفيذها، لن تكون هناك أخطاء في وقت التجميع أو التشغيل.

قواعد الطريقة الجزئية

  • يجب أن تستخدم الطريقة الجزئية كلمة المفتاح partial، وأن تكون عادلة.

  • يمكن للطريقة الجزئية أن تحتوي على in أو ref بدون out.

  • الطريقة الجزئية هي طريقة خاصة مجهولة، لذلك لا يمكن أن تكون طريقة افتراضية.

  • يمكن أن تكون الطريقة الجزئية سايتيكية.

  • يمكن أن تكون الطريقة الجزئية قابلة لتوليد النوع العام.