Condividi tramite


Friend (Visual Basic)

Specifica che uno o più elementi di programmazione sono accessibili solo dall'assembly che ne contiene la dichiarazione.

Note

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. Tuttavia, non possono risultare utili per essere accessibile dal codice esterno all'assembly (ad esempio, se l'applicazione è privata). Se si desidera limitare l'accesso a un elemento in questo modo, è possibile dichiararlo utilizzando il modificatore di Friend.

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 diFriend è spesso il livello preferito per gli elementi di programmazione di un'applicazione e Friend è il livello di accesso predefinito di interfaccia, modulo, di una classe, o di struttura.

È possibile utilizzare Friend solo al modulo, di interfaccia, o a livello di spazio dei nomi. Di conseguenza, il contesto della dichiarazione per un elemento di Friend deve essere un file di origine, uno spazio dei nomi, un'interfaccia, di un modulo, una classe, una struttura, non può essere una routine.

È possibile utilizzare il modificatore Friend insieme al modificatore Protected (Visual Basic) nella stessa dichiarazione. Questa combinazione conferisce entrambe accesso di Friend e accesso protetto sugli elementi dichiarati, pertanto sono accessibili da qualsiasi punto nello stesso assembly, dalla propria classe e le classi derivate. È possibile specificare Protected Friend solo su membri di classi.

Per un confronto di Friend e gli altri modificatori di accesso, vedere Livelli di accesso in Visual Basic.

Nota

È possibile specificare che un altro assembly è un assembly Friend, che consente di accedere a tipi e membri contrassegnati come Friend.Per ulteriori informazioni, vedere Assembly Friend (C# e Visual Basic).

Esempio

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

Utilizzo

È possibile utilizzare il modificatore di Friend in questi 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)

InternalsVisibleToAttribute

Concetti

Livelli di accesso in Visual Basic

Routine in Visual Basic

Altre risorse

Strutture (Visual Basic)

Oggetti e classi in Visual Basic