المحمي ( مرجع C# )

الكلمة الأساسية protected معدل وصول العضو. العضو المحمي متاح ضمن فئته ومثيلات الفئات المشتقة. للحصول على مقارنة protected مع معدلات الوصول الأخرى, راجع مستويات الوصول.

مثال

العضو المحمي من الفئة الأساسية متاح في الفئة المشتقة إلا إذا تم الوصول من خلال نوع الفئة المشتقة. على سبيل المثال، ضع مقطع التعليمات البرمجية التالية بعين الاعتبار:

class A
{
    protected int x = 123;
}

class B : A
{
    static void Main()
    {
        A a = new A();
        B b = new B();

        // Error CS1540, because x can only be accessed by
        // classes derived from A.
        // a.x = 10; 

        // OK, because this class derives from A.
        b.x = 10;
    }
}

الكشف a.x = 10 يقوم بإنشاء خطأ لأنه هو أسلوب ثابت الرئيسية، وعدم وجود مثيل من الفئة B

يتعذر حماية أعضاء البنية لأنه لا يمكن توريث البنية.

في هذا المثال، فئة DerivedPoint مشتقة من Point. لذلك، يمكنك الوصول إلى الأعضاء المحميين من الفئة الأساسية مباشرةً من الفئة المشتقة.

    class Point 
    {
        protected int x; 
        protected int y;
    }

    class DerivedPoint: Point 
    {
        static void Main() 
        {
            DerivedPoint dpoint = new DerivedPoint();

            // Direct access to protected members:
            dpoint.x = 10;
            dpoint.y = 15;
            Console.WriteLine("x = {0}, y = {1}", dpoint.x, dpoint.y); 
        }
    }
    // Output: x = 10, y = 15

إذا قمت بتغيير مستويات الوصول x و y إلى خاص سيصدر المحول البرمجي رسائل الخطأ:

'Point.y' is inaccessible due to its protection level.

'Point.x' is inaccessible due to its protection level.

مواصفات لغة #C

لمزيد من المعلومات، راجع مواصفات لغة #C. مواصفات اللغة هي المصدر النهائي لبناء جملة C# واستخدامها.

راجع أيضًا:

المرجع

الكلمات الأساسية لـ #C

معدلات الوصول ( مرجع C#)

مستويات الوصول (مرجع #C)

المعدّلات (مرجع #C)

عام (C# مرجع)

خاصة (C# مرجع)

الداخلية ( مرجع C# )

المبادئ

دليل البرمجة لـ #C

موارد أخرى

مرجع C#‎