Share via


Vän (Visual Basic)

Anger att ett eller flera deklarerade programmeringselement endast är tillgängliga från sammansättningen som innehåller deras deklaration.

Kommentarer

I många fall vill du att programmeringselement som klasser och strukturer ska användas av hela sammansättningen, inte bara av komponenten som deklarerar dem. Men du kanske inte vill att de ska vara tillgängliga med kod utanför sammansättningen (till exempel om programmet är proprietärt). Om du vill begränsa åtkomsten till ett element på det här sättet kan du deklarera det med hjälp Friend av modifieraren.

Kod i andra klasser, strukturer och moduler som kompileras till samma sammansättning kan komma åt alla Friend element i sammansättningen.

Friend åtkomst är ofta den föredragna nivån för ett programs programmeringselement och Friend är standardåtkomstnivån för ett gränssnitt, en modul, en klass eller en struktur.

Du kan bara använda Friend på modul-, gränssnitts- eller namnområdesnivå. Därför måste deklarationskontexten för ett Friend element vara en källfil, ett namnområde, ett gränssnitt, en modul, en klass eller en struktur. Det kan inte vara en procedur.

Kommentar

Du kan också använda åtkomstmodifieraren Skyddad vän , vilket gör en klassmedlem tillgänglig från den klassen, från härledda klasser och från samma sammansättning där klassen definieras. Om du vill begränsa åtkomsten till en medlem från dess klass och från härledda klasser i samma sammansättning använder du den privata skyddade åtkomstmodifieraren.

En jämförelse av Friend och andra åtkomstmodifierare finns i Åtkomstnivåer i Visual Basic.

Kommentar

Du kan ange att en annan sammansättning är en vänsammansättning, vilket gör att den kan komma åt alla typer och medlemmar som har markerats som Friend. Mer information finns i Vänsammansättningar.

Exempel

I följande klass används Friend modifieraren för att tillåta att andra programmeringselement i samma sammansättning får åtkomst till vissa medlemmar.

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

Användning

Du kan använda Friend modifieraren i följande sammanhang:

Klassuttryck

Const-instruktion

Deklarera -instruktion

Ombudsuttryck

Dim-instruktion

Uppräkningsinstrukelse

Händelseuttryck

Funktionsuttryck

Gränssnittsinstruk

Modulsats

Egenskapsutdrag

Struktursats

Underuttryck

Se även