Friend (Visual Basic)

Especifica que solo se puede acceder a uno o varios elementos de programación declarados desde el ensamblado que contiene su declaración.

Comentarios

En muchos casos, quiere que todo el ensamblado utilice elementos de programación como clases y estructuras, no solo el componente que los declara. Sin embargo, es posible que no quiera que sean accesibles mediante código 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 Friend modificador .

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

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

Solo puede usar Friend en el nivel de módulo, interfaz o espacio de nombres. Por lo tanto, el contexto de declaración de un elemento 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 Friend un procedimiento.

Nota

También puede usar el modificador de acceso Protected Friend, 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 dentro de su clase y desde clases derivadas en el mismo ensamblado, use el modificador de acceso Private Protected.

Para obtener una comparación de Friend y los demás modificadores de acceso, vea Niveles de acceso en Visual Basic.

Nota

Puede especificar que otro ensamblado sea un ensamblado de confianza, lo 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 clase siguiente usa el Friend modificador para permitir que otros elementos de programación dentro 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 Friend modificador 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

Consulta también