Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 21086|Válasz: 0

[Forrás] Az InternalsVisibleToAttribute a belső tagot a megadott barát assembly előtt mutatja be

[Linket másol]
Közzétéve 2017. 02. 06. 14:27:59 | | |
Bevezetés a Youyuan Gyűléshez
Tudjuk, hogy egy osztály belső tagjai (beleértve a típusokat, metóduszokat, tulajdonságokat, változókat, eseményeket) csak ugyanabban a assembly egységben érhetők el (természetesen itt a normál módról beszélek, nem a reflektív hozzáférésről). Ez a szabály benne van. A .NET 2.0 kissé hibás, így egy assembly belső tagjait bizonyos tagok számára elérhetjük. Az ilyen belső tagokat tartalmazó assembly assembly forrásösszeállításnak nevezzük, és az assembly halmazt a friend assembly néven ismert.

Baráti összeszerelés használata
Ezt az attribútumot az assembly szinten használják.


Így, miután a FriendAssembly program hivatkozik az assembly oldalára, hozzáférhet a belső Név tulajdonsághoz.
Általánosságban ez a assembly:InternalsVisibleTo ("FriendAssembly") jobban a AssemblyInfo.cs-be helyezkedik el, hiszen az assembly szintjén van.

Mikor kell használni a InternalsToVisibleTo rendszert
Valójában ezt az attribútumot általános alkalmazásokban nem használják, és nem szabad visszaélnünk vele. Mert általánosságban elmondható, hogy egy jól megtervezett gyűlés nem kell, hogy nyitott legyen a külvilág számára.
De az egységtesztelés kihasználhatja ezt a funkciót. Ezzel a funkcióval megadhatjuk, hogy az egységtesztek kódja hozzáférjen ezekhez a belső tagokhoz, így egységtesztet tudunk végezni. Ehhez azonban a barát assembly nevének halottak be kell írnia a forrás összeállításban, ami biztonsági problémákat okoz. A biztonság garantálható aláírási összeállítások bevezetésével.

InternalsToVisibleTo és az aláírás összeállítása
Közvetlenül megadhatod a barát meta assembly nevét és nyilvános kulcsát az InternalsVisibleTo címre.
Használd a VS fejlesztő parancssorát a FriendAssembly nyilvános kulcsának generálásához:


Megadjuk a barát assembly nevét és a forrás assembly nyilvános kulcsát:


Valójában, mivel a barát assembly a forrás assembly hivatkozik, az aláírt assembly pedig egy aláíratlan assembly esetén, és az aláírt assembly nem tud jelölni egy nem aláírt barát assemblyt, bármelyik aláírt, akkor alá kell írni.





Előző:Automatikusan ugorjon a Tenpay fizetési átutalási oldalra, és automatikusan töltse ki az adatokat
Következő:Használd az InternalsVisibleTo funkciót, hogy hozzáadj "friend assembly" a assembly
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com