Friend (Visual Basic)
Especifica que um ou mais elementos de programação declarados são acessíveis somente a partir de dentro do assembly que contém sua declaração.
Comentários
Em muitos casos, você deseja que elementos de programação, como classes e estruturas, sejam usados por todo o assembly, e não apenas pelo componente que os declara. No entanto, talvez você não queira que eles fiquem 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 forma, poderá declará-lo usando o modificador Friend
.
O código em outras classes, estruturas e módulos compilados para o mesmo assembly pode acessar todos os elementos Friend
nesse assembly.
O acesso Friend
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
em nível de módulo, interface ou namespace. Portanto, o contexto de declaração de um elemento Friend
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 Protected Friend, 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 Private Protected.
Para obter uma comparação entre Friend
e os demais modificadores de 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 modificador Friend
para permitir que outros elementos de programação dentro do 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 modificador Friend
nestes contextos: