Sowohl C# als auch VB.Net enthalten optionale Schlüsselwörter, die mit den fünf Zugriffsebenen korrespondieren. Die folgende Liste bietet einen Überblick über diese Schlüsselwörter, wie sie in C# verwendet werden:
- public: keine Zugriffsbeschränkungen.
- protected: Zugriff auf enthaltende/abgeleitete Klassen begrenzt.
- internal: Zugriff auf das aktuelle Projekt begrenzt.
- protected internal: Zugriff auf enthaltende/abgeleitete Klassen und das aktuelle Projekt begrenzt.
- private: Zugriff auf den enthaltenden Typ begrenzt.
Die entsprechende Liste für VB.NET sieht so aus:
- Public: keine Zugriffsbeschränkungen.
- Protected: Zugriff auf enthaltende/abgeleitete Klassen begrenzt.
- Private: Zugriff auf den enthaltenden Typ begrenzt.
- Friend: Zugriff auf das aktuelle Projekt begrenzt.
- Protected Friend: Zugriff auf enthaltende/abgeleitete Klassen und das aktuelle Projekt begrenzt.
Diese Zugriffsmodifizierer werden vor die zugeordneten Typen gesetzt. Das folgende VB.NET-Listing bietet ein rudimentäres Beispiel für die Nutzung von Zugriffsebenen.
Der Namespace erhält keine Zugriffsebene (er erhält nie eine), die Klasse jedoch schon. Die Klasse AssemblyOnly wird als Friend definiert. Jeglicher Code innerhalb des Assemblers darf sie also verwenden. Die test genannte Funktion ist als Public eingestellt und damit für alle innerhalb des Assemblers verfügbar, da die enthaltende Klasse ja als Friend gekennzeichnet ist.
Das testField ist als Private angelegt. Es kann also nur innerhalb seiner Klasse darauf zugegriffen werden. Der Zugriff auf das testField wird durch Eigenschaften kontrolliert, die wiederum als Public definiert sind. Es können also alle im Assembler darauf zugreifen, da die enthaltende Klasse als Friend definiert ist. Die Methode ChildClassMayExtend ist als Protected gekennzeichent. Damit ist sie also in abgeleiteten Klassen mit diesen abgeleiteten Klassen zugänglich.
Neueste Kommentare
Noch keine Kommentare zu Zugriffsberechtigungen in .NET: Sicherheitslücken schließen
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.