Hjem Udvikling Hvad er en ven forsamling? - definition fra techopedia

Hvad er en ven forsamling? - definition fra techopedia

Indholdsfortegnelse:

Anonim

Definition - Hvad betyder Friend Assembly?

En venssamling, i C #, henviser til .NET-forsamlingen, der kan få adgang til medlemmerne af en anden samling. Medlemmer i en forsamling, der er adgang til fra venstemontagen, skal markeres som

indre.


Venssamlinger bruges i scenarier, hvor der er behov for adgang til interne klasser og medlemmer i en samling fra en anden specifik samling. Det giver to specifikke samlinger mulighed for at dele medlemmer eller funktionalitet uden at offentliggøre dem.


Venssamlinger bruges også til enhedsafprøvning, hvor den samling, der ligger til grund for testkoden, har brug for at få adgang til de medlemmer, der er markeret som interne i den enhed, der skal testes. Det er nyttigt i udvikling af klassebiblioteker, der kræver tilføjelser indeholdt i separate samlinger, som har brug for adgang til medlemmer i eksisterende samlinger.

Techopedia forklarer Friend Assembly

Ved at markere medlemmer af en klasse som interne er de synlige for andre klasser inden for den samme samling, men er private for klasser, der bor uden for forsamlingen. For at få adgang til de interne medlemmer fra en venhedssamling skal navnet på enhedssamlingen specificeres med attributten InternalsVisibleToAttribute i den samling, hvor de interne medlemmer er defineret. Venssamling har ikke adgang til private typer og private medlemmer.


For eksempel kan InternalsVisibleToAttribute i Assembly X bruges til at specificere Assembly Y som venstemontering, så Assembly Y kan få adgang til alle typer og medlemmer af Assembly X, der er markeret som interne.


Følgende er retningslinjerne i forbindelse med udvikling af venhedssamlinger:

  • Når du bruger underskrevne samlinger, kan værktøjet 'sn.exe' bruges til at få den offentlige nøgle, der skal overføres til det attribut, der specificerer venstelementet
  • Når du kompilerer en venhedsenhed, der får adgang til interne medlemmer af en anden samling, skal kompilatorindstillingen (/ ud) indstilles med navnet på outputfilen (.exe eller .dll)
  • Det er nødvendigt at specificere eksplicit hver samling, der skal være ven for den samling, den har brug for adgang til
  • Det anbefales at bruge venhedssamlinger uden at bryde reglerne for indkapsling
Denne definition blev skrevet i forbindelse med C #
Hvad er en ven forsamling? - definition fra techopedia