Megosztás a következőn keresztül:


védett (C# referencia)

A protected kulcsszó egy taghozzáférés-módosító.

Feljegyzés

Ez a lap a hozzáférést ismerteti protected . A protected kulcsszó a módosítók és private protected a protected internal hozzáférési módosítók része is.

A védett tag az osztályán belül és származtatott osztálypéldányokkal érhető el.

A többi hozzáférési módosítóval való összehasonlítást protected lásd : Akadálymentességi szintek.

1. példa

Az alaposztály védett tagja csak akkor érhető el származtatott osztályban, ha a hozzáférés a származtatott osztálytípuson keresztül történik. Vegyük például a következő kódszegmenst:

class A
{
    protected int x = 123;
}

class B : A
{
    static void Main()
    {
        var a = new A();
        var 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;
    }
}

Az utasítás a.x = 10 hibát generál, mert a Main statikus metóduson belül történik, és nem a B osztály egy példánya.

A szerkezettagok nem védhetők, mert a szerkezet nem örökölhető.

2. példa

Ebben a példában az osztály DerivedPoint a következőből Pointszármazik: . Ezért az alaposztály védett tagjait közvetlenül a származtatott osztályból érheti el.

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

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

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

Ha a hozzáférési szinteket privátra módosítja xy, a fordító a következő hibaüzeneteket fogja kiadni:

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

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

C# nyelvspecifikáció

További információ: Deklarált akadálymentesség a C# nyelvi specifikációjában. A nyelvi specifikáció a C#-szintaxis és -használat végleges forrása.

Lásd még