Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 21086|Vastaus: 0

[Lähde] InternalsVisibleToAttribute altistaa sisäisen jäsenen valitulle ystäväkokoonpanolle

[Kopioi linkki]
Julkaistu 6.2.2017 14.27.59 | | |
Johdanto Youyuan-kokoukseen
Tiedämme, että luokan jäsenet, jotka määritellään sisäisiksi (mukaan lukien tyypit, metodit, ominaisuudet, muuttujat, tapahtumat), pääsevät käsiksi vain samassa kokoonpanossa (tietenkin puhun tässä normaalista tavasta, en heijastuksen kautta tapahtuvasta pääsystä). Tämä sääntö on . .NET 2.0 on hieman rikki, mikä mahdollistaa kokoonpanon sisäisten jäsenten asettamisen tiettyjen jäsenten käytettäviksi. Kutsumme assemblyä, joka sisältää nämä sisäiset jäsenet, lähdeassemblyksi, ja assembly-joukkoa kutsutaan friendassemblyksi.

Friend-kokoonpanon käyttö
Tätä attribuuttia käytetään assembly-tasolla.


Näin, kun FriendAssembly-ohjelma viittaa assemblyyn, se pääsee käsiksi sisäiseen Nimi-ominaisuuteen.
Yleisesti ottaen tämä assembly:InternalsVisibleTo("FriendAssembly") on parempi sijoitettua AssemblyInfo.cs, sillä se on assembly-tasolla.

Milloin käyttää InternalsToVisibleTo:ta
Itse asiassa tätä attribuuttia ei käytetä yleisissä sovelluksissa, eikä sitä tulisi käyttää väärin. Koska yleisesti ottaen hyvin suunnitellun kokouksen ei tarvitse olla avoin ulkomaailmalle.
Mutta yksikkötestausskenaariot voivat hyödyntää tätä ominaisuutta. Tämän ominaisuuden avulla voimme määritellä, että yksikkötestikoodilla on pääsy näihin sisäisiin jäseniin, jotta voimme testata näitä jäseniä. Tämä kuitenkin vaatii ystäväkokoonpanon nimen kirjoittamista kuolleena lähdekokoonpanoon, mikä aiheuttaa tietoturvaongelmia. Turvallisuus voidaan taata ottamalla käyttöön allekirjoituskokoonpanoja.

InternalsToVisibleTo ja allekirjoituskokoonpano
Voit suoraan määrittää ystävämeta-assemblyn nimen ja julkisen avaimen InternalsVisibleTo:lle.
Käytä VS-kehittäjäkomentoriviä luodaksesi julkisen avaimen FriendAssemblylle:


Määritä ystäväkokoonpanon nimi ja lähdekokoonpanon julkisen avaimen nimi:


Itse asiassa, koska ystäväkokoonpano viittaa lähdeassemblyyn ja allekirjoitettu assembly, allekirjoitettu assembly, eikä allekirjoitettu assembly voi määritellä allekirjoittamatonta ystäväassemblyä, mikä tahansa niistä on allekirjoitettu, ja ne täytyy allekirjoittaa.





Edellinen:Siirry automaattisesti Tenpayn maksunsiirtosivulle ja täytä tiedot automaattisesti
Seuraava:Käytä InternalsVisibleTo:ta lisätäksesi "friend assembly" assemblyyn
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com