Hjem Utvikling Hva er en venn forsamling? - definisjon fra techopedia

Hva er en venn forsamling? - definisjon fra techopedia

Innholdsfortegnelse:

Anonim

Definisjon - Hva betyr Friend Assembly?

En venn forsamling, i C #, viser til. NET-forsamlingen som kan få tilgang til medlemmene i en annen forsamling. Medlemmer i en forsamling som er tilgjengelig fra venneforsamlingen, må merkes som

innvendig.


Vennemøter brukes i scenarier der det er behov for å få tilgang til interne klasser og medlemmer i en forsamling fra en annen spesifikk forsamling. Det gjør det mulig for to spesifikke forsamlinger å dele medlemmer eller funksjonalitet uten å gjøre dem offentlige.


Venneforsamlinger brukes også i enhetstesting der enheten under testkoden trenger å få tilgang til medlemmene som er merket som interne i enheten som skal testes. Det er nyttig i utvikling av klassebiblioteker som krever tillegg i separate samlinger som trenger tilgang til medlemmer i eksisterende samlinger.

Techopedia forklarer Friend Assembly

Ved å merke medlemmer av en klasse som interne, er de synlige for andre klasser i samme forsamling, men er private for klasser som bor utenfor forsamlingen. For å få tilgang til de interne medlemmene fra en vennssamling, skal navnet på vennforsamlingen spesifiseres med attributtet, InternalsVisibleToAttribute i forsamlingen der de interne medlemmene er definert. Vennforsamling har ikke tilgang til private typer og private medlemmer.


For eksempel kan InternalsVisibleToAttribute i Assembly X brukes til å spesifisere Assembly Y som venneforsamling, slik at Assembly Y kan få tilgang til alle typer og medlemmer av Assembly X som er merket som interne.


Følgende er retningslinjene knyttet til utvikling av venneforsamlinger:

  • Når du bruker signerte forsamlinger, kan verktøyet 'sn.exe' brukes til å få den offentlige nøkkelen som må sendes til attributtet som angir venneforsamlingen
  • Når du kompilerer en vennssamling som får tilgang til interne medlemmer av en annen samling, må kompilatoralternativet (/ ut) settes med navnet på utdatafilen (.exe eller .dll)
  • Det er nødvendig å spesifikt spesifisere hver samling som må være venn for den enheten den trenger tilgang til
  • Det anbefales å bruke venneforsamlinger uten å bryte reglene for innkapsling
Denne definisjonen ble skrevet i sammenheng med C #
Hva er en venn forsamling? - definisjon fra techopedia