Friend (Visual Basic)

Specifica che uno o più elementi di programmazione dichiarati sono accessibili solo dall'interno dell'assembly contenente la dichiarazione.

Note

Nella classe seguente viene utilizzato il modificatore Friend per consentire agli 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

Regole

  • Contesto della dichiarazione. È possibile utilizzare la parola chiave Friend solo a livello di modulo, di interfaccia o di spazio dei nomi. In altri termini, il contesto della dichiarazione di un elemento Friend deve essere un file di origine, uno spazio dei nomi, un'interfaccia, un modulo, una classe, una struttura, ma non una routine.

  • Modificatori combinati. È possibile utilizzare il modificatore Friend insieme al modificatore Protected (Visual Basic) nella stessa dichiarazione. In questo modo agli elementi dichiarati vengono assegnati gli accessi Friend e Protected e diventa possibile accedervi dallo stesso assembly, dalla classe corrispondente e da tutte le classi derivate. È possibile specificare Protected Friend solo su membri di classi.

Comportamento

  • Livello di accesso. Tutto il codice presente in un contesto della dichiarazione può accedere ai relativi elementi. Il codice incluso in altre classi, strutture e moduli compilati nello stesso assembly può accedere a tutti gli elementi Friend dell'assembly in questione.

    L'accesso Friend non è un superset o un sottoinsieme dell'accesso protetto.

  • Modificatori di accesso. Le parole chiave che specificano il livello di accesso sono dette modificatori di accesso. Per un confronto tra i modificatori di accesso, vedere Livelli di accesso in Visual Basic.

Utilizzo di Friend

In molti casi è opportuno che elementi di programmazione quali classi e strutture vengano utilizzati da tutto l'assembly, non solo dal componente che li dichiara. È importante, tuttavia, che non siano accessibili al codice esterno all'assembly, ad esempio nel caso di un'applicazione proprietaria. Per limitare l'accesso a un elemento in questo modo, è possibile eseguirne la dichiarazione con Friend.

L'accesso Friend rappresenta spesso il livello preferito per gli elementi di programmazione di un'applicazione. Si noti che il livello di accesso di un'interfaccia, modulo, classe o struttura viene impostato automaticamente su Friend, a meno che non venga effettuata una dichiarazione differente.

Il modificatore Friend può essere utilizzato nei seguenti contesti:

Istruzione Class

Istruzione Const

Istruzione Declare

Istruzione Delegate

Istruzione Dim

Istruzione Enum

Istruzione Event

Istruzione Function

Istruzione Interface

Istruzione Module

Istruzione Property

Istruzione Structure

Istruzione Sub

Vedere anche

Riferimenti

Public (Visual Basic)

Protected (Visual Basic)

Private (Visual Basic)

Concetti

Livelli di accesso in Visual Basic

Routine in Visual Basic

Altre risorse

Strutture (Visual Basic)

Oggetti e classi in Visual Basic