Obsah:
Definícia - Čo znamená zostavenie priateľstva?
Zhromaždenie priateľov v C # sa vzťahuje na zostavu .NET, ktorá má prístup k členom inej zostavy. Členovia v zhromaždení, ku ktorým má prístup priateľské zhromaždenie, musia byť označené ako
interné.
Zostavy priateľov sa používajú v scenároch, kde je potrebné získať prístup k vnútorným triedam a členom v jednej zostave z inej špecifickej zostavy. Umožňuje dvom špecifickým zhromaždeniam zdieľať členov alebo funkcie bez toho, aby boli zverejnené.
Priateľské zostavy sa používajú aj pri testovaní jednotiek, kde zostava, ktorá je základom testovacieho kódu, musí mať prístup k členom, ktoré sú v testovanej zostave označené ako interné. Je to užitočné pri vývoji knižníc tried, ktoré vyžadujú doplnky obsiahnuté v samostatných zostavách, ktoré potrebujú prístup k členom v existujúcich zostavách.
Techopedia vysvetľuje zostavenie priateľov
Označením členov triedy ako interných sú viditeľné pre ďalšie triedy v rámci tej istej zostavy, ale sú súkromné pre triedy, ktoré sa nachádzajú mimo zostavy. Ak chcete získať prístup k vnútorným členom z priateľskej zostavy, je potrebné zadať názov priateľskej zostavy s atribútom InternalsVisibleToAttribute v zostave, kde sú definovaní interní členovia. Zhromaždenie priateľov nemá prístup k súkromným typom a súkromným členom.
Napríklad InternalsVisibleToAttribute v zostave X sa môže použiť na určenie zostavy Y ako priateľskej zostavy, takže zostava Y má prístup ku všetkým typom a členom zostavy X, ktoré sú označené ako interné.
Nasledujú pokyny týkajúce sa vývoja priateľských zhromaždení:
- Pri používaní podpísaných zostáv sa dá nástroj sn.exe použiť na získanie verejného kľúča, ktorý sa musí odovzdať atribútu určujúcemu zostavu priateľov
- Pri kompilácii priateľskej zostavy, ktorá pristupuje k vnútorným členom inej zostavy, musí byť voľba kompilátora (/ out) nastavená s názvom výstupného súboru (.exe alebo .dll).
- Je potrebné explicitne špecifikovať každé zhromaždenie, ktoré musí byť priateľom pre zhromaždenie, ku ktorému potrebuje prístup
- Odporúča sa používať zostavy priateľov bez porušenia pravidiel zapuzdrenia