Friend (Visual Basic)

Legt fest, dass auf ein deklariertes Programmierelement oder mehrere deklarierte Programmierelemente nur innerhalb der Assembly, die die Deklaration enthält, zugegriffen werden kann.

Hinweise

Die folgende Klasse ermöglicht anderen Programmierelementen innerhalb der gleichen Assembly, mithilfe des Friend-Modifizierers auf bestimmte Member zuzugreifen.

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

Regeln

  • Deklarationskontext. Sie können Friend nur auf Modul-, Schnittstellen- oder Namespaceebene verwenden. Dies bedeutet, dass der Deklarationskontext für ein Friend-Element eine Quelldatei, ein Namespace, eine Schnittstelle, ein Modul oder eine Struktur, aber keine Prozedur sein kann.

  • Kombinierte Modifizierer. Sie können den Friend-Modifizierer in Verbindung mit dem Protected (Visual Basic)-Modifizierer in der gleichen Deklaration verwenden. In dieser Verbindung können die deklarierten Elemente über beide Schlüsselwörter aufgerufen werden, sodass der Zugriff über beliebigen Code innerhalb derselben Assembly, ihrer eigenen Klasse und über beliebige abgeleitete Klassen möglich ist. Sie können Protected Friend nur für Member von Klassen angeben.

Verhalten

  • Zugriffsebene. Sämtlicher Code innerhalb des Deklarationskontexts kann auf seine Elemente zugreifen. Code in anderen Klassen, Strukturen oder Modulen, die in derselben Assembly kompiliert werden, kann auf alle Friend-Elemente innerhalb dieser Assembly zugreifen.

    Der Zugriff auf Friend-Elemente ist dem Zugriff auf protected-Elemente weder über- noch untergeordnet.

  • Zugriffsmodifizierer. Die Schlüsselwörter für die Angabe der Zugriffsebene werden als Zugriffsmodifizierer bezeichnet. Einen Vergleich der Zugriffsmodifizierer finden Sie unter Zugriffsebenen in Visual Basic.

Verwendung von Friend

In vielen Fällen kann es wünschenswert sein, dass Programmierelemente wie Klassen und Strukturen von der gesamten Assembly verwendet werden, statt nur von der Komponente, mit der sie deklariert werden. Möglicherweise sollen sie jedoch nicht für Assembly-externen Code zugänglich sein, z. B. wenn die Anwendung proprietär ist. Wenn Sie den Zugriff auf ein Element in dieser Weise beschränken möchten, deklarieren Sie es mit Friend.

Der Friend-Zugriff wird für die Programmierelemente einer Anwendung häufig als Zugriffsebene bevorzugt. Beachten Sie, dass Friend als Standardzugriffsebene einer Schnittstelle, eines Moduls, einer Klasse oder einer Struktur zugeordnet wird, sofern Sie keine andere Zugriffsebene deklarieren.

Der Friend-Modifizierer kann in folgenden Kontexten verwendet werden:

Class Statement

Const-Anweisung

Declare-Anweisung

Delegate-Anweisung

Dim-Anweisung

Enum-Anweisung

Event-Anweisung

Function-Anweisung

Interface-Anweisung

Module-Anweisung

Property-Anweisung

Structure Statement

Sub-Anweisung

Siehe auch

Referenz

Public (Visual Basic)

Protected (Visual Basic)

Private (Visual Basic)

Konzepte

Zugriffsebenen in Visual Basic

Prozeduren in Visual Basic

Weitere Ressourcen

Strukturen (Visual Basic)

Objekte und Klassen in Visual Basic