Como: Criar Friend Assemblies não assinado
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 Class
clicar 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 Sub
Pressione 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)