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: