Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 21086|Atbildi: 0

[Avots] InternalsVisibleToAttribute pakļauj iekšējo dalībnieku norādītajai draugu montāžai

[Kopēt saiti]
Publicēts 06.02.2017 14:27:59 | | |
Ievads Youyuan asamblejā
Mēs zinām, ka klases locekļiem, kas ir definēti kā iekšēji (ieskaitot tipus, metodes, īpašības, mainīgos, notikumus), var piekļūt tikai vienā un tajā pašā montāžā (protams, es šeit runāju par parasto veidu, neieskaitot piekļuvi caur refleksiju). Šis noteikums ir . .NET 2.0 ir nedaudz bojāts, ļaujot mums iestatīt asamblejas iekšējos dalībniekus, kuriem var piekļūt konkrēti dalībnieki. Mēs saucam asambleju, kurā ir šie iekšējie locekļi, par avota asambleju, un montāžas kopu sauc par draugu asambleju.

Draugu montāžas izmantošana
Šis atribūts tiek izmantots montāžas līmenī.


Tādā veidā pēc tam, kad programma FriendAssembly atsaucas uz montāžu, tā var piekļūt iekšējam rekvizītam Nosaukums.
Vispārīgi runājot, šī asambleja:InternalsVisibleTo("FriendAssembly") ir labāk novietota AssemblyInfo.cs, galu galā tā ir montāžas līmenī.

Kad lietot InternalsToVisibleTo
Faktiski šis atribūts netiek izmantots vispārējās lietojumprogrammās, un mums nevajadzētu ļaunprātīgi izmantot šo atribūtu. Jo kopumā labi izstrādātai montāžai nav jābūt atvērtai ārpasaulei.
Bet vienības testēšanas scenāriji var izmantot šo funkciju. Izmantojot šo funkciju, mēs varam norādīt, ka vienības testu kodam ir piekļuve šiem iekšējiem dalībniekiem, lai mēs varētu pārbaudīt šos dalībniekus. Tomēr tas prasa avota montāžā ierakstīt mirušā drauga asamblejas nosaukumu, kas rada dažas drošības problēmas. Drošību var garantēt, ieviešot parakstu komplektus.

InternalsToVisibleTo un parakstu montāža
Jūs varat tieši norādīt drauga meta montāžas nosaukumu un publisko atslēgu uz InternalsVisibleTo.
Izmantojiet VS izstrādātāja komandrindu, lai ģenerētu FriendAssembly publisko atslēgu:


Norādiet draugu montāžas nosaukumu un avota montāžas publisko atslēgu:


Faktiski, tā kā draugu asambleja atsaucas uz avota montāžu, un parakstītā asambleja atsaucas uz neparakstītu asambleju, un parakstītā asambleja nevar norādīt neparakstītu draugu asambleju, jebkurš no tiem ir parakstīts, tad tie ir jāparaksta.





Iepriekšējo:Automātiski pāriet uz Tenpay maksājumu pārskaitījuma lapu un automātiski aizpildiet informāciju
Nākamo:Izmantojiet InternalsVisibleTo, lai montāžai pievienotu "draugu montāžu"
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com