Compartilhar via


Amigo (Visual Basic)

Especifica que um ou mais elementos de programação declarados são acessíveis somente de dentro do assembly que contém sua declaração.

Observações

Em muitos casos, você deseja que elementos de programação, como classes e estruturas, sejam usados por todo o assembly, não apenas pelo componente que os declara. No entanto, talvez você não queira que eles sejam acessíveis por código fora do assembly (por exemplo, se o aplicativo for proprietário). Se você quiser limitar o acesso a um elemento dessa maneira, poderá declará-lo usando o Friend modificador.

O código em outras classes, estruturas e módulos compilados para o mesmo assembly pode acessar todos os Friend elementos nesse assembly.

Friend O acesso geralmente é o nível preferencial para os elementos de programação de um aplicativo e Friend é o nível de acesso padrão de uma interface, um módulo, uma classe ou uma estrutura.

Você só pode usar Friend no nível de módulo, interface ou namespace. Portanto, o contexto de declaração de um Friend elemento deve ser um arquivo de origem, um namespace, uma interface, um módulo, uma classe ou uma estrutura; ele não pode ser um procedimento.

Observação

Você também pode usar o modificador de acesso Do Amigo Protegido , que torna um membro de classe acessível de dentro dessa classe, de classes derivadas e do mesmo assembly no qual a classe é definida. Para restringir o acesso a um membro de dentro de sua classe e de classes derivadas no mesmo assembly, use o modificador de acesso privado protegido .

Para obter uma comparação entre os outros modificadores de Friend acesso, consulte os níveis de acesso no Visual Basic.

Observação

Você pode especificar que outro assembly é um assembly amigável, o que permite que ele acesse todos os tipos e membros marcados como Friend. Para obter mais informações, consulte Assemblies amigáveis.

Exemplo

A classe a seguir usa o Friend modificador para permitir que outros elementos de programação no mesmo assembly acessem determinados membros.

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

Você pode usar o Friend modificador nestes contextos:

Instrução Class

Instrução Const

Instrução Declare

Declaração do Delegado

Instrução Dim

Instrução Enum

Declaração de Evento

Declaração de Função

Declaração de Interface

Instrução do Módulo

Declaração de Propriedade

Instrução Structure

Instrução Sub

Consulte também