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 Friendgekennzeichnet 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:

Class-Anweisung

Const-Anweisung

Declare Statement

Delegate-Anweisung

Dim-Anweisung

Enum-Anweisung

Event-Anweisung

Function-Anweisung

Interface-Anweisung

Module-Anweisung

Property Statement

Structure Statement

Sub-Anweisung

Siehe auch