Friend (Visual Basic)
Gibt an, dass auf ein oder mehrere deklarierte Programmierelemente nur aus der Assembly mit der Deklaration zugegriffen werden kann.
Bemerkungen
In vielen Fällen möchten Sie, dass Programmierelemente wie Klassen und Strukturen von der gesamten Assembly verwendet werden, nicht nur von der Komponente, die sie deklariert. Sie möchten jedoch möglicherweise nicht, dass auf sie über Code außerhalb der Assembly zugegriffen werden kann (z. B. wenn die Anwendung proprietär ist). Wenn Sie den Zugriff auf ein Element auf diese Weise einschränken möchten, können Sie es mit dem Friend
-Modifizierer deklarieren.
Code in anderen Klassen, Strukturen und Modulen, die in dieselbe Assembly kompiliert werden, kann auf alle Friend
-Elemente in dieser Assembly zugreifen.
Friend
Access ist häufig die bevorzugte Ebene für die Programmierelemente einer Anwendung und Friend
die Standardzugriffsebene einer Schnittstelle, eines Moduls, einer Klasse oder einer Struktur.
Sie können Friend
nur auf Modul-, Schnittstellen- oder Namespaceebene verwenden. Daher muss der Deklarationskontext für ein Friend
-Element eine Quelldatei, ein Namespace, eine Schnittstelle, ein Modul, eine Klasse oder eine Struktur sein; eine Prozedur kann es nicht sein.
Hinweis
Sie können auch den Zugriffsmodifizierer Protected Friend verwenden, der einen Klassenmember innerhalb dieser Klasse, aus abgeleiteten Klassen und aus derselben Assembly zugänglich macht, in der die Klasse definiert ist. Um den Zugriff auf ein Element innerhalb seiner Klasse und von abgeleiteten Klassen in derselben Assembly einzuschränken, verwenden Sie den Modifizierer „Privater geschützter Zugriff“.
Einen Vergleich zwischen Friend
und den anderen Zugriffsmodifizierern finden Sie unter Zugriffsebenen in Visual Basic.
Hinweis
Sie können angeben, dass eine andere Assembly eine Friend-Assembly ist, sodass sie auf alle Typen und Member zugreifen kann, die als Friend
gekennzeichnet sind. Weitere Informationen finden Sie unter Friend-Assemblys.
Beispiel
Die folgende Klasse verwendet den Friend
-Modifizierer, um anderen Programmierelementen innerhalb derselben Assembly den Zugriff auf bestimmte Member zu ermöglichen.
Class CustomerInfo
Private p_CustomerID As Integer
Public ReadOnly Property CustomerID() As Integer
Get
Return p_CustomerID
End Get
End Property
' Allow friend access to the empty constructor.
Friend Sub New()
End Sub
' Require that a customer identifier be specified for the public constructor.
Public Sub New(ByVal customerID As Integer)
p_CustomerID = customerID
End Sub
' Allow friend programming elements to set the customer identifier.
Friend Sub SetCustomerID(ByVal customerID As Integer)
p_CustomerID = customerID
End Sub
End Class
Verwendung
Sie können den Friend
-Modifizierer in folgenden Kontexten verwenden: