Partager via


Friend (Visual Basic)

Spécifie qu’un ou plusieurs éléments de programmation déclarés sont accessibles uniquement à partir de l’assembly qui contient leur déclaration.

Notes

Dans de nombreux cas, vous souhaitez que les éléments de programmation tels que les classes et les structures soient utilisés par l’ensemble de l’assembly, et pas seulement par le composant qui les déclare. Toutefois, vous ne souhaitez peut-être pas qu’elles soient accessibles par du code en dehors de l’assembly (par exemple, si l’application est propriétaire). Si vous souhaitez limiter l’accès à un élément de cette façon, vous pouvez le déclarer à l’aide du modificateur Friend.

Le code d’autres classes, structures et modules compilés dans le même assembly peut accéder à tous les éléments Friend de cet assembly.

L’accès Friend est souvent le niveau préféré pour les éléments de programmation d’une application et Friend est le niveau d’accès par défaut d’une interface, d’un module, d’une classe ou d’une structure.

Vous pouvez utiliser Friend uniquement au niveau du module, de l’interface ou de l’espace de noms. Par conséquent, le contexte de déclaration pour l’élément Friend doit être un fichier source, un espace de noms, une interface, un module, une classe ou une structure ; il ne peut s’agir d’une procédure.

Notes

Vous pouvez également utiliser le modificateur d’accès Protected Friend, qui rend un membre de la classe accessible à partir de cette classe, des classes dérivées et du même assembly que celui dans lequel la classe est définie. Pour restreindre l’accès à un membre à partir de sa classe et des classes dérivées dans le même assembly, utilisez le modificateur d’accès Private Protected.

Pour une comparaison de Friend et des autres modificateurs d’accès, consultez Niveaux d’accès en Visual Basic.

Notes

Vous pouvez spécifier qu’un autre assembly est un assembly friend, ce qui lui permet d’accéder à tous les types et membres marqués comme Friend. Pour plus d’informations, consultez Assemblys friend.

Exemple

La classe suivante utilise le modificateur Friend pour autoriser d’autres éléments de programmation au sein du même assembly à accéder à certains membres.

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

Utilisation

Vous pouvez utiliser le modificateur Friend dans ces contextes :

Class (instruction)

Const (instruction)

Declare Statement

Delegate, instruction

Dim (instruction)

Enum (instruction)

Event, instruction

Function (instruction)

Interface (instruction)

Module, instruction

Property Statement

Structure, instruction

Sub (instruction)

Voir aussi