Friend (Visual Basic)

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

Observaciones

En muchos casos, desea que los elementos de programación, como clases y estructuras, se usen en todo el ensamblado, no solo en el componente que los declara. Sin embargo, es posible que no desee que el código fuera del ensamblado tenga acceso a ellos (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 pueden tener acceso a todos los Friend elementos de ese ensamblado.

Friend el acceso es a menudo 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.

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

Nota

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

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 es 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 siguiente clase usa el Friend modificador para permitir que otros elementos de programación del mismo ensamblado tengan acceso 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

Vea también