Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 21086|Respuesta: 0

[Fuente] InternalsVisibleToAttribute expone al miembro interno al ensamblaje amigo especificado

[Copiar enlace]
Publicado en 6/2/2017 14:27:59 | | |
Introducción a la Asamblea Youyuan
Sabemos que los miembros de una clase definidos como internos (incluyendo tipos, métodos, propiedades, variables, eventos) solo pueden ser accedidos en el mismo ensamblador (por supuesto, me refiero a la forma normal aquí, sin incluir el acceso por reflexión). Esta regla está en . .NET 2.0 está algo roto, lo que nos permite configurar los miembros internos de un ensamblador para que sean accedidos por miembros específicos. Llamamos al ensamblador que contiene estos miembros internos el ensamblador fuente, y el conjunto de ensambladores se llama ensamblador amigo.

Uso en ensamblaje de amigos
Este atributo se utiliza a nivel de ensamblaje.


De este modo, después de que el programa FriendAssembly haga referencia al ensamblador, puede acceder a la propiedad interna Nombre.
En términos generales, este assembly:InternalsVisibleTo("FriendAssembly") está mejor colocado en el AssemblyInfo.cs, al fin y al cabo, está a nivel de ensamblador.

Cuándo usar InternalsToVisibleTo
De hecho, este atributo no se utiliza en aplicaciones generales, y no deberíamos abusar de este atributo. Porque, en general, un conjunto bien diseñado no necesita estar abierto al mundo exterior.
Pero los escenarios de pruebas unitarias pueden aprovechar esta característica. Con esta función, podemos especificar que el código de las pruebas unitarias tiene acceso a esos miembros internos para poder hacer pruebas unitarias a esos miembros. Sin embargo, esto requiere escribir el nombre del ensamblador amigo muerto en el ensamblador fuente, lo que causa algunos problemas de seguridad. La seguridad puede garantizarse introduciendo ensamblajes de firmas.

InternalsToVisibleTo y el ensamblador de firma
Puedes especificar directamente el nombre y la clave pública del ensamblaje meta amigo a InternalsVisibleTo.
Utiliza la línea de comandos de desarrollador de VS para generar la clave pública de FriendAssembly:


Especifica el nombre del ensamblador amigo y la clave pública del ensamblador fuente:


De hecho, dado que el ensamblaje amigo hace referencia al ensamblador fuente, y el ensamblador con signo hace referencia a un ensamblador no firmado, y el ensamblador firmado no puede especificar un ensamblaje amigo sin signo, cualquiera de ellos está firmado, entonces deben estar firmados.





Anterior:Salta automáticamente a la página de transferencias de pago de Tenpay y rellena la información automáticamente
Próximo:Utiliza InternalsVisibleTo para añadir "ensamblador amigo" al ensamblador
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com