Acasă Dezvoltare Ce este un ansamblu de prieteni? - definiție din techopedia

Ce este un ansamblu de prieteni? - definiție din techopedia

Cuprins:

Anonim

Definiție - Ce înseamnă Friend Assembly?

Un ansamblu prieten, în C #, se referă la ansamblul .NET care poate accesa membrii altei adunări. Membrii într-o adunare la care este accesat de la adunarea prietenului trebuie să fie marcați ca

intern.


Asamblările prietenilor sunt utilizate în scenarii în care este nevoie să accesați clase interne și membri într-o adunare dintr-o altă adunare specifică. Permite două ansambluri specifice să partajeze membri sau funcționalități fără a le face publice.


Ansamblurile prietene sunt de asemenea utilizate la testarea unității, unde ansamblul care stă la baza codului de testare trebuie să acceseze elementele marcate ca fiind interne în ansamblul care urmează să fie testat. Este util în dezvoltarea bibliotecilor de clase care necesită adăugări conținute în ansambluri separate care trebuie să acceseze membrii în ansamblurile existente.

Techopedia explică Adunarea prietenilor

Marcând membrii unei clase ca fiind interne, acestea sunt vizibile altor clase din cadrul aceleiași adunări, dar sunt private pentru clasele care se află în afara ansamblului. Pentru a accesa membrii interni dintr-un ansamblu prieten, numele asamblării prietenului trebuie specificat cu atributul, InternalsVisibleToAttribute în ansamblul unde sunt definite membrele interne. Adunarea prietenilor nu poate accesa tipuri private și membri privați.


De exemplu, InternalsVisibleToAttribute în assemblarea X poate fi utilizat pentru a specifica ansamblul Y ca asamblare prieten, astfel încât asamblarea Y poate accesa toate tipurile și membrii asamblării X care sunt marcate ca interne.


Urmează orientările legate de dezvoltarea ansamblurilor de prieteni:

  • În timp ce utilizați ansambluri semnate, instrumentul "sn.exe" poate fi utilizat pentru a obține cheia publică care trebuie trecută la atributul care specifică ansamblul prieten
  • În timp ce compilați un ansamblu prieten care accesează membrii interni ai unui alt ansamblu, opțiunea de compilare (/ ieșire) trebuie setată cu numele fișierului de ieșire (.exe sau .dll)
  • Este necesar să specificați în mod explicit fiecare asamblare care trebuie să fie prietenă pentru ansamblul la care are nevoie de acces
  • Se recomandă utilizarea ansamblurilor de prieteni fără a încălca regulile de încapsulare
Această definiție a fost scrisă în contextul C #
Ce este un ansamblu de prieteni? - definiție din techopedia