Friend-Schlüsselwort in C#
In der objektorientierten Programmierung bietet das „Friend“-Schlüsselwort privaten Klassenmitgliedern kontrollierten Zugriff auf bestimmte Klassen. Während C das Schlüsselwort „friend“ anbietet, fehlt in C# ein direktes Äquivalent für diese Funktion.
Alternative: InternalsVisibleTo
C# verwendet das Attribut „InternalsVisibleTo“, um einen eingeschränkten Zugriff auf private zu erreichen Mitglieder, hauptsächlich zu Testzwecken. Dieses Attribut kennzeichnet Assemblys oder Namespaces als vertrauenswürdig und ermöglicht ihnen den Zugriff auf interne Mitglieder, die ansonsten vor externem Code verborgen bleiben.
Beispiel
Betrachten Sie das folgende Beispiel in AssemblyInfo.cs :
[assembly: InternalsVisibleTo("OtherAssembly")]
Dieses Attribut macht die Assembly für die „OtherAssembly“ zugänglich. Auf alle Methoden oder Eigenschaften, die innerhalb der Assembly als intern markiert sind, kann jetzt über „OtherAssembly“ zugegriffen werden.
Verwendung beim Testen
Das InternalsVisibleTo-Attribut erweist sich beim Unit-Testen als besonders nützlich Szenarien. Durch Markieren einer Assembly als InternalsVisibleTo für die Testassembly werden private Member zu Testzwecken zugänglich, bleiben aber vor anderem externen Code verborgen.
Überlegungen
Während InternalsVisibleTo einen Mechanismus bereitstellt Für den kontrollierten Zugriff unterscheidet es sich in mehreren Punkten vom C-Schlüsselwort „friend“:
Das obige ist der detaillierte Inhalt vonWie erreicht C# eine ähnliche Funktionalität wie das „Friend'-Schlüsselwort von C für den kontrollierten Zugriff auf private Mitglieder?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!