Aracılığıyla paylaş


korumalı (C# Reference)

protected Üye erişim değiştiricisi bir anahtardır.Korunan üye kendi sınıfı içinde ve türetilmiş sınıf örnekleri tarafından erişilebilir.Bir karşılaştırma için protected diğer erişim değiştiricileri ile görmek Erişilebilirlik düzeyleri.

Örnek

Erişim türetilmiş bir sınıf türü oluşursa türetilmiş bir sınıf içinde korumalı bir temel sınıf üyesi erişilemez.Örneğin, aşağıdaki kod bölütü göz önünde bulundurun:

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;
    }
}

İfade a.x = 10 çünkü statik Main yöntemi içinde yapılan ve bir örneği değil b sınıfı bir hata üretir.

Yapı üyeleri yapı devralınan çünkü korunamaz.

Bu örnekte, sınıfı DerivedPoint türetilir Point.Bu nedenle, doğrudan türetilmiş sınıftan korumalı temel sınıf üyeleri erişebilir.

    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

Erişim düzeyini değiştirirseniz, x ve y için özel, derleyici hata iletileri verecek:

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

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

C# dil belirtiminin

Daha fazla bilgi için bkz: C# dil belirtiminin. Dil belirtimi, C# sözdizimi ve kullanımı için nihai kaynaktır.

Ayrıca bkz.

Başvuru

C# anahtar sözcükler

Erişim değiştiricileri (C# Reference)

Erişilebilirlik düzeyleri (C# Reference)

Değiştiriciler (C# Reference)

Ortak (C# Reference)

Özel (C# Reference)

iç (C# Reference)

Kavramlar

C# Programlama Kılavuzu

Diğer Kaynaklar

C# Başvurusu