Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 21086|Antwoord: 0

[Bron] InternalsVisibleToAttribute stelt het interne lid bloot aan de opgegeven friend-assembly

[Link kopiëren]
Geplaatst op 06-02-2017 14:27:59 | | |
Inleiding tot de Youyuan Vergadering
We weten dat leden van een klasse die als intern worden gedefinieerd (inclusief types, methoden, eigenschappen, variabelen, gebeurtenissen) alleen in dezelfde assembly toegankelijk zijn (natuurlijk heb ik het hier over de normale manier, exclusief toegang via reflectie). Deze regel zit in . .NET 2.0 is enigszins gebroken, waardoor we de interne leden van een assembly kunnen instellen zodat ze door specifieke leden toegankelijk zijn. We noemen de assembly die deze interne leden bevat de bronassembly, en de assemblyset wordt de friend assembly genoemd.

Gebruik van vriendenassemblage
Dit attribuut wordt op assemblageniveau gebruikt.


Op deze manier kan het FriendAssembly-programma, nadat het naar de assembly verwijst, toegang krijgen tot de interne eigenschap Name.
Over het algemeen is deze assembly:InternalsVisibleTo ("FriendAssembly") beter geplaatst in de AssemblyInfo.cs, want het is immers op assembly-niveau.

Wanneer te gebruiken InternalsToVisibleTo
In feite wordt deze attribuut niet gebruikt in algemene toepassingen, en we moeten deze attribuut niet misbruiken. Want over het algemeen hoeft een goed ontworpen assemblage niet open te staan voor de buitenwereld.
Maar unittestscenario's kunnen van deze functie profiteren. Met deze functie kunnen we specificeren dat de code voor unittests toegang heeft tot die interne leden, zodat we die leden kunnen unittesten. Dit vereist echter dat de naam van de vriend-assembly dood in de bron-assembly wordt geschreven, wat enkele beveiligingsproblemen veroorzaakt. Beveiliging kan worden gegarandeerd door het introduceren van handtekeningassemblages.

InternalsToVisibleTo en de handtekeningassemblage
Je kunt direct de naam en publieke sleutel van de friend meta-assembly specificeren in InternalsVisibleTo.
Gebruik de VS-ontwikkelaarscommandoregel om de publieke sleutel voor FriendAssembly te genereren:


Specificeer de naam van de vriend-assembly en de publieke sleutel van de bron-assembly:


Aangezien de friend assembly de bronassembly verwijst, en de signed assembly een niet-signed assembly verwijst, en de signed assembly geen unsigned friend assembly kan specificeren, zijn ze allemaal ondertekend, en moeten ze dan ondertekend worden.





Vorig:Ga automatisch naar de Tenpay-betalingspagina en vul de informatie automatisch in
Volgend:Gebruik InternalsVisibleTo om "friend assembly" toe te voegen aan assembly
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com