Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 21086|Odgovoriti: 0

[Vir] InternalsVisibleToAttribute izpostavi notranjega člana določenemu prijateljskemu sklopu

[Kopiraj povezavo]
Objavljeno na 6. 02. 2017 14:27:59 | | |
Uvod v skupščino Youyuan
Vemo, da je mogoče člane razreda, ki so definirane kot notranje (vključno s tipi, metodami, lastnostmi, spremenljivkami, dogodki), dostopati le v isti sestavi (seveda govorim o običajnem načinu, ne vključujoč dostopa preko refleksije). To pravilo je v . .NET 2.0 je nekoliko pokvarjen, saj nam omogoča, da določimo dostop do notranjih članov zbora za določene člane. Sestavo, ki vsebuje te notranje člane, imenujemo izvorna sestava, zbirka pa se imenuje prijateljska skupščina.

Uporaba v prijateljski skupščini
Ta atribut se uporablja na ravni sestavljanja.


Na ta način, ko program FriendAssembly sklicuje na asembler, lahko dostopa do notranje lastnosti Name.
Na splošno je ta assembly:InternalsVisibleTo ("FriendAssembly") bolje umeščena v AssemblyInfo.cs, saj je na ravni sestavljanja.

Kdaj uporabiti InternalsToVisibleTo
Pravzaprav se ta lastnost ne uporablja v splošnih aplikacijah in je ne smemo zlorabljati. Ker na splošno dobro zasnovana sestava ni nujno, da je odprta za zunanji svet.
Vendar pa lahko scenariji enotnega testiranja izkoristijo to funkcijo. S to funkcijo lahko določimo, da ima koda za enotske teste dostop do teh notranjih članov, da jih lahko enotno testiramo. Vendar pa to zahteva, da se ime prijateljske sestave v izvorni sestavi vpiše mrtvo, kar povzroča določene varnostne težave. Varnost je mogoče zagotoviti z uvedbo sestavljanja podpisov.

InternalsToVisibleTo in sestava podpisov
Lahko neposredno določite ime in javni ključ prijateljskega meta sestavljanja v InternalsVisibleTo.
Uporabite ukazno vrstico za razvijalce VS za generiranje javnega ključa za FriendAssembly:


Določite ime prijateljske skupščine in javni ključ za izvorno zbirko:


Pravzaprav, ker se prijateljska skupščina sklicuje na izvorno sestavo, podpisana skupščina pa se sklicuje na nepodpisano skupščino, podpisana skupščina pa ne more določiti nepodpisane prijateljske skupščine, so vse podpisane in morajo biti podpisane.





Prejšnji:Samodejno skočite na stran za prenos plačil pri Tenpay in samodejno vnesite podatke
Naslednji:Uporabi InternalsVisibleTo za dodajanje "friend assembly" v assembly
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com