internal
Allgemeines
Kennzeichnet ein Element als intern zugreifbar. Auf ein Element, das mit internal
gekennzeichnet wurde, kann aus allen Klassen der gleichen Assembly 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:
| 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)