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: