Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este exemplo mostra como usar conjuntos de módulos de amigo com módulos (assemblies) que estão sem assinatura.
Para criar um assembly e um assembly do amigo no Visual Studio
Crie um novo projeto para um aplicativo Windows Forms chamado FriendAssembliesB.
No menu File, aponte para Add e clique em New Project.
No Adicionar novo projeto diálogo, clicar biblioteca de classes e o nome do projeto FriendAssembliesA.
Substitua o conteúdo de Class1.vb no projeto FriendAssembliesA com o seguinte código.Esse código usa o InternalsVisibleToAttribute atributo declarar FriendAssembliesB sistema autônomo um assembly do amigo.
Imports System.Runtime.CompilerServices <Assembly: InternalsVisibleTo("FriendAssembliesB")> ' Friend class. Friend Class FriendAssembliesA Public Sub Test() MsgBox("Friend Assemblies Sample Class") End Sub End Class ' Public class with a Friend method. Public Class FriendAssembliesClassA Friend Sub Test() MsgBox("Friend Assemblies Sample Method") End Sub End Classclicar com o botão direito do mouse o projeto FriendAssembliesB em O gerenciador de soluções e, em seguida, clique em Adicionar referência.
Na caixa de diálogo Add Reference, clique na guia .NET .clicar FriendAssembliesA e, em seguida, clicar OK.
clicar com o botão direito do mouse em Form1.vb no projeto FriendAssembliesB e, em seguida, clique em Exibir código.
Adicione o seguinte código à classe Form1.
sistema autônomo FriendAssembliesA Especifica FriendAssembliesB sistema autônomo um amigo assembly, o código no FriendAssembliesB pode acessar Friend tipos e membros de FriendAssembliesA.
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles MyBase.Load ' Access a Friend class. Dim friendTest1 As New FriendAssembliesA friendTest1.Test() Dim friendTest2 As New FriendAssembliesClassA ' Access a Friend method. friendTest2.Test() End SubPressione F5 para compilar e executar o projeto.
O programa exibe caixas de mensagens que contêm as seqüências de caracteres "Friend Assemblies Sample classe" e "Friend Assemblies Sample método".
Segurança
Há semelhanças entre o atributo InternalsVisibleToAttribute e a classe StrongNameIdentityPermission.A principal diferença é que StrongNameIdentityPermission pode solicitar permissões de segurança para executar uma determinada seção de código, enquanto o atributo InternalsVisibleToAttribute controla a visibilidade dos tipos e membros Friend.
Consulte também
Tarefas
Como: Criar assinado Friend Assemblies
Conceitos
Assemblies Autorizados (Visual Basic)