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: