Friend (Visual Basic)Friend (Visual Basic)

Specifica che uno o più elementi di programmazione dichiarati sono accessibili solo all'interno dell'assembly che contiene la relativa dichiarazione.Specifies that one or more declared programming elements are accessible only from within the assembly that contains their declaration.

CommentiRemarks

In molti casi, si desidera che gli elementi di programmazione come classi e strutture siano utilizzati dall'intero assembly, non solo dal componente che li dichiara.In many cases, you want programming elements such as classes and structures to be used by the entire assembly, not only by the component that declares them. Tuttavia, è possibile che non si desideri che siano accessibili dal codice all'esterno dell'assembly (ad esempio, se l'applicazione è proprietaria).However, you might not want them to be accessible by code outside the assembly (for example, if the application is proprietary). Se si vuole limitare l'accesso a un elemento in questo modo, è possibile dichiararlo usando il Friend modificatore.If you want to limit access to an element in this way, you can declare it by using the Friend modifier.

Il codice in altre classi, strutture e moduli compilati nello stesso assembly può accedere a tutti gli Friend elementi in tale assembly.Code in other classes, structures, and modules that are compiled to the same assembly can access all the Friend elements in that assembly.

Friend l'accesso è spesso il livello preferenziale per gli elementi di programmazione di un'applicazione e Friend rappresenta il livello di accesso predefinito di un'interfaccia, un modulo, una classe o una struttura.Friend access is often the preferred level for an application's programming elements, and Friend is the default access level of an interface, a module, a class, or a structure.

È possibile usare Friend solo a livello di modulo, interfaccia o spazio dei nomi.You can use Friend only at the module, interface, or namespace level. Il contesto di dichiarazione per un Friend elemento deve pertanto essere un file di origine, uno spazio dei nomi, un'interfaccia, un modulo, una classe o una struttura e non può essere una routine.Therefore, the declaration context for a Friend element must be a source file, a namespace, an interface, a module, a class, or a structure; it can't be a procedure.

Nota

È anche possibile usare il modificatore di accesso Friend protetto , che rende accessibile un membro della classe da tale classe, dalle classi derivate e dallo stesso assembly in cui è definita la classe.You can also use the Protected Friend access modifier, which makes a class member accessible from within that class, from derived classes, and from the same assembly in which the class is defined. Per limitare l'accesso a un membro dall'interno della relativa classe e dalle classi derivate nello stesso assembly, usare il modificatore di accesso privato protetto .To restrict access to a member from within its class and from derived classes in the same assembly, you use the Private Protected access modifier.

Per un confronto tra Friend e gli altri modificatori di accesso, vedere livelli di accesso in Visual Basic.For a comparison of Friend and the other access modifiers, see Access levels in Visual Basic.

Nota

È possibile specificare che un altro assembly è un assembly Friend, che consente di accedere a tutti i tipi e membri contrassegnati come Friend .You can specify that another assembly is a friend assembly, which allows it to access all types and members that are marked as Friend. Per ulteriori informazioni, vedere assembly Friend.For more information, see Friend Assemblies.

EsempioExample

La classe seguente usa il Friend modificatore per consentire ad altri elementi di programmazione all'interno dello stesso assembly di accedere a determinati membri.The following class uses the Friend modifier to allow other programming elements within the same assembly to access certain members.

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

UtilizzoUsage

È possibile usare il Friend modificatore in questi contesti:You can use the Friend modifier in these contexts:

Istruzione ClassClass Statement

Istruzione ConstConst Statement

Declare StatementDeclare Statement

Istruzione DelegateDelegate Statement

Istruzione DimDim Statement

Istruzione EnumEnum Statement

Istruzione EventEvent Statement

Istruzione FunctionFunction Statement

Istruzione InterfaceInterface Statement

Istruzione ModuleModule Statement

Property StatementProperty Statement

Istruzione StructureStructure Statement

Istruzione SubSub Statement

Vedi ancheSee also