Friend (Visual Basic)

Gibt an, dass auf ein oder mehrere deklarierte Programmierelemente nur aus der Assembly mit der Deklaration zugegriffen werden kann.

Hinweise

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. Sie sollten sie nicht von Code außerhalb der Assembly zugegriffen werden können (beispielsweise, wenn die Anwendung herstellereigen ist). Wenn Sie den Zugriff auf ein Element auf diese Weise beschränken möchten, können Sie ihn deklarieren, indem Sie den Friend-Modifizierer verwenden.

Code in anderen Klassen, Strukturen oder Modulen, die in derselben Assembly kompiliert werden, kann auf alle Friend-Elemente innerhalb dieser Assembly zugreifen.

Friend Zugriff ist häufig die bevorzugte Ebene für die Programmierelemente einer Anwendung, und Friend ist der Standardzugriff, der von einer Schnittstelle, einem Modul, einer Klasse oder Struktur einstellen.

Sie können Friend nur auf dem Modul, der Schnittstelle oder Namespaceebene keine verwenden. Daher muss der Deklarationskontext für ein Friend-Element eine Quelldatei, ein Namespace, eine Schnittstelle, ein Modul, eine Klasse oder Struktur sein; Es kann keine Prozedur sein.

Sie können den Friend-Modifizierer in Verbindung mit dem Protected (Visual Basic)-Modifizierer in der gleichen Deklaration verwenden. Diese Kombination konferiert sowohl Friend Zugriff und geschützter Zugriff auf den deklarierten Elementen, und sind daher überall in der Assembly, von ihrer eigenen Klasse und von abgeleiteten Klassen zugreifen. Sie können Protected Friend nur für Member von Klassen angeben.

Einen Vergleich der Friend und anderen Zugriffsmodifizierern, finden Sie unter Zugriffsebenen in Visual Basic.

Hinweis

Sie können angeben, dass eine andere Assembly eine Friend-Assembly ist, deren ermöglicht, alle Typen und Member zugreifen, die als Friend gekennzeichnet werden.Weitere Informationen finden Sie unter Friend-Assemblys (C# und Visual Basic).

Beispiel

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

Verwendung

Sie können den Friend-Modifizierer in diesen Kontexten verwenden:

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)

InternalsVisibleToAttribute

Konzepte

Zugriffsebenen in Visual Basic

Prozeduren in Visual Basic

Weitere Ressourcen

Strukturen (Visual Basic)

Objekte und Klassen in Visual Basic