Friend (Visual Basic)Friend (Visual Basic)

Especifica que uno o varios elementos de programación declarados son accesibles únicamente desde dentro del ensamblado que contiene su declaración.Specifies that one or more declared programming elements are accessible only from within the assembly that contains their declaration.

ComentariosRemarks

En muchos casos, desea que elementos de programación como clases y estructuras que se usará en todo el ensamblado, no solo por el componente que declara.In many cases, you want programming elements such as classes and structures to be used by the entire assembly, not only by the component that declares them. Sin embargo, es posible que no desea que sea accesible para el código fuera del ensamblado (por ejemplo, si la aplicación es propietaria).However, you might not want them to be accessible by code outside the assembly (for example, if the application is proprietary). Si desea limitar el acceso a un elemento de esta manera, puede declarar mediante el Friend modificador.If you want to limit access to an element in this way, you can declare it by using the Friend modifier.

Código de otras clases, estructuras y los módulos que se compilan en el mismo ensamblado puede tener acceso a todas las Friend elementos en ese ensamblado.Code in other classes, structures, and modules that are compiled to the same assembly can access all the Friend elements in that assembly.

Friend acceso a menudo es el nivel preferido para los elementos de programación de la aplicación, y Friend es el acceso predeterminado en nivel de una interfaz, un módulo, una clase o una estructura.Friend access is often the preferred level for an application's programming elements, and Friend is the default access level of an interface, a module, a class, or a structure.

Puede usar Friend sólo en el nivel de módulo, interfaz o espacio de nombres.You can use Friend only at the module, interface, or namespace level. Por lo tanto, el contexto de 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.Therefore, the declaration context for a Friend element must be a source file, a namespace, an interface, a module, a class, or a structure; it can't be a procedure.

Nota

También puede usar el Protected Friend modificador de acceso, lo que hace que un miembro de clase accesible desde dentro de esa clase, desde las clases derivadas y desde el mismo ensamblado en el que se define la clase.You can also use the Protected Friend access modifier, which makes a class member accessible from within that class, from derived classes, and from the same assembly in which the class is defined. Para restringir el acceso a un miembro desde dentro de su clase y de las clases derivadas en el mismo ensamblado, usa el Private Protected modificador de acceso.To restrict access to a member from within its class and from derived classes in the same assembly, you use the Private Protected access modifier.

Para obtener una comparación de Friend y otros modificadores de acceso, consulte tener acceso a los niveles en Visual Basic.For a comparison of Friend and the other access modifiers, see Access levels in Visual Basic.

Nota

Puede especificar que el otro ensamblado es un ensamblado de confianza, lo que le permite tener acceso a todos los tipos y miembros que están marcados como Friend.You can specify that another assembly is a friend assembly, which allows it to access all types and members that are marked as Friend. Para más información, vea Ensamblados de confianza.For more information, see Friend Assemblies.

EjemploExample

La siguiente clase utiliza la Friend modificador para permitir que otros elementos de programación dentro del mismo ensamblado para tener acceso a ciertos miembros.The following class uses the Friend modifier to allow other programming elements within the same assembly to access certain members.

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

UsoUsage

Puede usar el Friend modificador en estos contextos:You can use the Friend modifier in these contexts:

Class (instrucción)Class Statement

Const (instrucción)Const Statement

Declare (instrucción)Declare Statement

Delegate (instrucción)Delegate Statement

Dim (instrucción)Dim Statement

Enum (instrucción)Enum Statement

Event (instrucción)Event Statement

Function (instrucción)Function Statement

Interface (instrucción)Interface Statement

Module (instrucción)Module Statement

Property (instrucción)Property Statement

Structure (instrucción)Structure Statement

Sub (instrucción)Sub Statement

Vea tambiénSee also