Friend (Visual Basic)

Especifica que solo se puede obtener acceso a uno o varios elementos de programación declarados desde dentro del ensamblado que contiene su declaración.

Comentarios

En muchos casos, desea que el componente que declare elementos de programación, como clases y estructuras, lo use todo el ensamblado, no solo por el componente que los declare. Sin embargo, es posible que no quiera que el código sea accesible fuera del ensamblado (por ejemplo, si la aplicación es propietaria). Si desea limitar el acceso a un elemento de esta manera, puede declararlo mediante el modificador Friend.

El código de otras clases, estructuras y módulos compilados en el mismo ensamblado puede tener acceso a todos los elementos Friend de ese ensamblado.

El acceso Friend suele ser el nivel preferido para los elementos de programación de una aplicación y Friend es el nivel de acceso predeterminado de una interfaz, un módulo, una clase o una estructura.

Puede usar Friend solo en el nivel de módulo, interfaz o espacio de nombres. Por lo tanto, el contexto de declaración de un elemento Friend debe ser un archivo de código fuente, un espacio de nombres, una interfaz, un módulo, una clase o una estructura; no puede ser un procedimiento.

Nota

También se puede usar el modificador de acceso Protected Friend, el que hace que un miembro de clase sea accesible desde dentro de esa clase, desde clases derivadas y desde el mismo ensamblado en el que se define la clase. Para restringir el acceso a un miembro desde su clase y desde clases derivadas en el mismo ensamblado, use el modificador de acceso Private Protected.

Para una comparación de los modificadores de acceso Friend y el otro, consulte Niveles de acceso en Visual Basic.

Nota

Puede especificar que otro ensamblado es un ensamblado de confianza, que le permite tener acceso a todos los tipos y miembros marcados como Friend. Para más información, vea Ensamblados de confianza.

Ejemplo

La siguiente clase usa el modificador Friend para permitir que otros elementos de programación del mismo ensamblado accedan a determinados miembros.

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

Uso

Puede usar el modificador Friend en estos contextos:

Instrucción Class

Instrucción Const

Declare Statement

Delegate (Instrucción)

Instrucción Dim

Instrucción Enum

Event (Instrucción)

Instrucción Function

Instrucción Interface

Module (Instrucción)

Property Statement

Structure (Instrucción)

Instrucción Sub

Consulte también