ein Projekt von goloroden.de

protected

Allgemeines

Kennzeichnet ein Element als geschützt zugreifbar. Auf ein Element, das mit protected gekennzeichnet wurde, kann aus der eigenen Klasse und aus allen abgeleiteten Klassen zugegriffen werden.

Beipiel

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
using System;

namespace GoloRoden.GuideToCSharp
{
    /// <summary>
    /// Represents a base class.
    /// </summary>
    public class BaseClass
    {
        /// <summary>
        /// Gets or sets a foo value.
        /// </summary>
        /// <value>The foo value.</value>
        protected object Foo
        {
            get;
            private set;
        }

        /// <summary>
        /// Represents a bar method.
        /// </summary>
        protected internal virtual void Bar()
        {
        }
    }

    /// <summary>
    /// Represents a class that derives from BaseClass.
    /// </summary>
    public class DerivedClass : BaseClass
    {
        /// <summary>
        /// Represents a bar method.
        /// </summary>
        protected internal override void Bar()
        {
            // Print foo's value to the console.
            Console.WriteLine(this.Foo);
        }
    }
}

Details

Das Schlüsselwort protected kann mit dem Schlüsselwort internal zu protected internal kombiniert werden. Der Zugriff ist dann aus der gleichen Assembly und aus allen abgeleiteten Klassen möglich.

Die folgende Tabelle fasst die Möglichkeiten der einzelnen Zugriffsmodifizierer zusammen:

Zugriffsmodifizierer Von beliebiger Stelle Aus Assembly Aus abgeleiteter Klasse in eigener Assembly Aus abgeleiteter Klasse in anderer Assembly Aus eigener Klasse
public Ja Ja Ja Ja Ja
protected internal - Ja Ja Ja Ja
internal - Ja Ja - Ja
protected - - Ja Ja Ja
private - - - - Ja

Siehe auch (Referenz)

Siehe auch (Guide)