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

Skats: 19548|Atbildi: 0

[Avots] Izmantojiet InternalsVisibleTo, lai montāžai pievienotu "draugu montāžu"

[Kopēt saiti]
Publicēts 06.02.2017 14:28:57 | | |

Iekšējais atslēgvārds C# var padarīt atzīmētās metodes, laukus vai atribūtus pieejamus tikai pašreizējā montāžā, tāpēc ko darīt, ja citiem komplektiem ir jāizmanto šī iekšējā metode? .NET nodrošina veidu, kā izpildīt šo funkciju, līdzīgi kā draugu klase C++, kas ir izmantot InternalsVisibleTo.

Tas ir izplatīts, veicot testus, un ir nepieciešams cits projekts, lai pārbaudītu funkcionalitāti, kas atzīmēta ar iekšējo metodi projektā, tāpēc, izmantojot InternalsVisibleTo, mums nav jāmaina metode, kurai nevajadzētu būt publiskai sabiedrībai, lai veiktu vienības testēšanu.

Joprojām ir dažas lietas, kurām jāpievērš uzmanība, izmantojot InternalsVisibleTo, jo īpaši PublicKey nav viegli saprast, parunāsim par to, kā izmantot šo InternalsVisibleTo:

Vispirms paskaidrosim priekšnoteikumu: Project1 ir funkcionāls projekts, un Project1.Test (montāžas nosaukums: Project1.Test.dll) ir Project1 testa projekts.

1. Atveriet Project1 Assembly.cs failu un pievienojiet šo teikumu faila beigās:


PublicKey=****** jāaizstāj ar Project1.Test.dll publisko atslēgu, kā iegūt PublicKey, lūdzu, skatiet sadaļu Piezīmes raksta beigās.

2. Pārbaudiet, vai nosaukumvieta: System.Runtime.CompilerServices ir pievienota Assembly.cs nosaukumvietas atsaucei, jo InternalsVisibleTo atrodas nosaukumtelpā System.Runtime.CompilerService.

Notes:

1. Kā es varu iegūt PublicKey?

A: Zem komandrindas izmantojiet sn -tp Project1.Test.dll, lai redzētu PublicKey un PublicKeyToken

2. Ja Project1 ir projekts ar spēcīgu nosaukumu, tad InternalsVisibleTo ir jānorāda PublicKey, tāpēc Project1.Test ir jāizmanto arī spēcīgs paraksts, lai pareizi izmantotu InternalsVisibleTo, pretējā gadījumā kompilācija radīs kļūdu, ja Project1 neizmanto spēcīgu parakstu, Tad Project1.Test nav jāizmanto spēcīgi paraksti, un, izmantojot InternalsVisibleTo, ir nepieciešams tikai montāžas nosaukums, un nav nepieciešams iestatīt PuklicKey.




Iepriekšējo:InternalsVisibleToAttribute pakļauj iekšējo dalībnieku norādītajai draugu montāžai
Nākamo:[Mīts] Vai HttpApplication objekta Init metode tiks izpildīta tikai vienu reizi?
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