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:

Istruzione Class

Istruzione Const

Declare Statement

Istruzione Delegate

Istruzione Dim

Istruzione Enum

Istruzione Event

Istruzione Function

Istruzione Interface

Istruzione Module

Istruzione Property

Istruzione Structure

Istruzione Sub

Vedi anche