Friend (Visual Basic)
Specifica che uno o più elementi di programmazione sono accessibili solo dall'assembly che ne contiene la dichiarazione.
Osservazioni:
In molti casi, si desidera che gli elementi di programmazione, ad esempio classi e strutture, vengano usati dall'intero assembly, non solo dal componente che li dichiara. Tuttavia, potrebbe non essere necessario che siano accessibili dal codice all'esterno dell'assembly, ad esempio se l'applicazione è proprietaria. Se si vuole limitare l'accesso a un elemento in questo modo, è possibile dichiararlo usando il modificatore Friend
.
Il codice in altre classi, strutture e moduli compilati nello stesso assembly può accedere a tutti gli elementi Friend
dell'assembly.
L'accesso a Friend
è spesso il livello preferito per gli elementi di programmazione di un'applicazione e Friend
è il livello di accesso predefinito di un'interfaccia, un modulo, una classe o una struttura.
È possibile usare Friend
solo a livello di modulo, interfaccia o spazio dei nomi. Pertanto, il contesto di dichiarazione per un elemento Friend
deve essere un file di origine, uno spazio dei nomi, un'interfaccia, un modulo, una classe o una struttura; non può essere una routine.
Nota
È anche possibile usare il modificatore di accesso Protetto amico, che rende accessibile un membro di classe dall'interno di tale classe, dalle classi derivate e dallo stesso assembly in cui viene definita la classe. Per limitare l'accesso a un membro dall'interno della relativa classe e dalle classi derivate nello stesso assembly, usare il modificatore accesso Protetto privato.
Per un confronto tra Friend
e gli altri modificatori di accesso, vedere Livelli di accesso in Visual Basic.
Nota
È possibile specificare che un altro assembly è un assembly Amico, il che consente di accedere a tutti i tipi e i membri contrassegnati come Friend
. Per altre informazioni, vedere Friend Assemblies (Assembly friend).
Esempio
La classe seguente usa il modificatore Friend
per consentire ad altri elementi di programmazione all'interno dello stesso assembly di accedere a determinati membri.
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
Utilizzo
È possibile usare il modificatore Friend
in questi contesti: