Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 21086|Répondre: 0

[Source] InternalsVisibleToAttribute expose le membre interne à l’assemblage ami spécifié

[Copié le lien]
Publié sur 06/02/2017 14:27:59 | | |
Introduction à l’Assemblée Youyuan
Nous savons que les membres d’une classe définis comme internes (y compris types, méthodes, propriétés, variables, événements) ne peuvent être accessibles que dans le même assembleur (bien sûr, je parle ici de la manière normale, sans inclure l’accès par réflexion). Cette règle est dans . .NET 2.0 est légèrement cassé, ce qui nous permet de définir les membres internes d’un assembleur pour qu’ils soient accessibles par des membres spécifiques. Nous appelons l’assemblage qui contient ces membres internes l’assemblage source, et l’ensemble d’assemblage est appelé l’assemblage ami.

Utilisation par l’assemblage d’ami
Cet attribut est utilisé au niveau de l’assemblage.


Ainsi, après que le programme FriendAssembly ait fait référence à l’assembleur, il peut accéder à la propriété interne Nom.
De manière générale, cet assemblage :InternalsVisibleto (« FriendAssembly ») est mieux placé dans le AssemblyInfo.cs, après tout, il se trouve au niveau de l’assemblage.

Quand utiliser InternalsToVisibleTo
En fait, cet attribut n’est pas utilisé dans les applications générales, et nous ne devrions pas abuser de cet attribut. Car en général, un assemblage bien conçu n’a pas besoin d’être ouvert au monde extérieur.
Mais les scénarios de tests unitaires peuvent tirer parti de cette fonctionnalité. Avec cette fonctionnalité, nous pouvons spécifier que le code des tests unitaires a accès à ces membres internes afin de pouvoir les tester unitairement. Cependant, cela nécessite d’écrire le nom de l’assemblage ami mort dans l’assemblage source, ce qui cause certains problèmes de sécurité. La sécurité peut être garantie en introduisant des assemblages de signatures.

InternalsToVisibleTo et l’assembleur signature
Vous pouvez spécifier directement le nom et la clé publique de l’assemblage méta ami sur InternalsVisibleTo.
Utilisez la ligne de commande développeur VS pour générer la clé publique de FriendAssembly :


Spécifiez le nom de l’assemblage ami et la clé publique de l’assemblage source :


En fait, puisque l’assemblage ami fait référence à l’assemblage source, et que l’assemblage signé fait référence à un assemblage non signé, et que l’assemblage signé ne peut pas spécifier un assemblage ami non signé, aucun d’eux est signé, alors il faut l’être.





Précédent:Passez automatiquement à la page de transfert de paiement Tenpay et remplissez les informations automatiquement
Prochain:Utilisez InternalsVisibleTo pour ajouter « ami assemblage » à l’assembleur
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com