- 20.08.2019
- 3 minute de citit
-
-
Eu
-
B
-
T
-
Da
-
l
-
In acest articol
Un ansamblu prieten este un ansamblu care poate accesa tipurile si membrii interni ai unui alt ansamblu (C #) sau Prieten (Visual Basic). Daca identificati o adunare ca o adunare de prieteni, nu mai trebuie sa marcati tipurile si membrii ca publici pentru ca acestia sa poata fi accesati de alte adunari. Acest lucru este convenabil in special in urmatoarele scenarii:
-
In timpul testarii unitare, cand codul de testare se executa intr-un ansamblu separat, dar necesita acces la membrii din ansamblul care este testat, care sunt marcati ca interni in C # sau Friend in Visual Basic.
-
Cand dezvoltati o biblioteca de clase si adaugirile la biblioteca sunt continute in ansambluri separate, dar necesita acces la membrii din ansamblurile existente care sunt marcate ca interne in C # sau Friend in Visual Basic
Observatii
Puteti utiliza atributul InternalsVisibleToAttribute pentru a identifica unul sau mai multe ansambluri de prieteni pentru un ansamblu dat. Urmatorul exemplu foloseste atributul InternalsVisibleToAttribute din Asamblarea A si specifica asamblarea AssemblyB ca asamblare prieten. Aceasta ofera ansamblului AssemblyB acces la toate tipurile si membrii din Asamblarea A care sunt marcati ca interni in C # sau Prieteni in Visual Basic.
Nota
Cand compilati un ansamblu precum AssemblyB care va accesa tipuri interne sau membri interni ai unei alte asamblari precum Assembly A , trebuie sa specificati in mod explicit numele fisierului de iesire ( .exe sau .dll ) utilizand optiunea -out compilator. Acest lucru este necesar deoarece compilatorul nu a generat inca numele pentru ansamblul pe care il construieste in momentul in care este obligatoriu la referinte externe. Pentru mai multe informatii, consultati OutputAssembly (C #) sau -out (Visual Basic).
folosind System.Runtime.CompilerServices; utilizarea sistemului; [assembly: InternalsVisibleTo (“AssemblyB”)] // Clasa este interna in mod implicit. clasa FriendClass {public void Test () {Console.WriteLine („Sample Class”); }} // Clasa publica care are o metoda interna. public class ClassWithFriendMethod {Internal void Test () {Console.WriteLine (“Metoda esantion”); }} Imports System.Runtime.CompilerServices <Assembly: InternalsVisibleTo (“AssemblyB”)> ‘Clasa prieten. Clasa Friend Clasa publica FriendClass publica () Console.WriteLine („Clasa esantion”) Sfarsitul clasei sub clasa publica „Clasa publica cu o metoda Friend. Clasa publica ClassWithFriendMethod Friend Sub Test () Console.WriteLine („Metoda esantionului”) End End End Class
Numai ansamblurile pe care le specificati in mod explicit ca prieteni pot accesa tipuri si membri interni (C #) sau Prieteni (Visual Basic). De exemplu, in cazul in care AssemblyB este un prieten al Adunarii A si Adunarea C Referinte AssemblyB , Adunarea C nu are acces la intern (C #) sau prieten tipuri (Visual Basic) , in Adunarea A .
Compilatorul efectueaza unele validari de baza ale numelui de asamblare prieten trecut la atributul InternalsVisibleToAttribute. In cazul in care Adunarea O declara AssemblyB ca un prieten de asamblare, regulile de validare sunt dupa cum urmeaza:
-
In cazul in care Adunarea O poarta numele de puternic, AssemblyB trebuie sa fie , de asemenea , numit puternic. Numele ansamblului prieten care este trecut catre atribut trebuie sa fie format din numele asamblarii si cheia publica a cheii cu nume puternic care este utilizata pentru a semna AssemblyB .
Numele de asamblare prieten care este transmis atributului InternalsVisibleToAttribute nu poate fi numele puternic al AssemblyB . Nu includeti versiunea de asamblare, cultura, arhitectura sau simbolul cheii publice.
-
Daca Asamblarea A nu este denumita puternic, numele ansamblului prieten ar trebui sa fie format doar din numele asamblarii. Pentru mai multe informatii, consultati Cum: Creati ansambluri de prieteni nesemnate.
-
Daca AssemblyB este puternic numit, trebuie sa specificati cheia de nume puternic pentru AssemblyB utilizand setarea proiectului sau optiunea compilator linie de comanda / fisier cheie. Pentru mai multe informatii, consultati Cum: Creati ansambluri de prieteni semnate.
Clasa StrongNameIdentityPermission ofera, de asemenea, posibilitatea de a partaja tipuri, cu urmatoarele diferente:
-
StrongNameIdentityPermission se aplica unui tip individual, in timp ce un ansamblu prieten se aplica intregului ansamblu.
-
Daca exista sute de tipuri in Assembly A pe care doriti sa le partajati cu AssemblyB , trebuie sa adaugati StrongNameIdentityPermission la toate. Daca utilizati un ansamblu de prieteni, trebuie sa declarati relatia de prietenie o singura data.
-
Daca utilizati StrongNameIdentityPermission, tipurile pe care doriti sa le partajati trebuie declarate publice. Daca utilizati un ansamblu prieten, tipurile partajate sunt declarate ca interne (C #) sau Prietene (Visual Basic).
Pentru informatii despre cum sa accesati tipurile si metodele interne ale unui ansamblu (C #) sau Friend (Visual Basic) dintr-un fisier modul (un fisier cu extensia .netmodule ), consultati ModuleAssemblyName (C #) sau -moduleassemblyname (Visual Basic).
Vezi si
- InternalsVisibleToAttribute
- StrongNameIdentityPermission
- Cum: Creati ansambluri de prieteni nesemnate
- Cum: Creati ansambluri de prieteni semnate
- Asamblari in .NET
- Ghid de programare C #
- Concepte de programare (Visual Basic)
morena con il suo taxxi malena la pugliese nuda
porno 100 italiano malena la pugliese nude
fica xxx malena la pugliese nuovi video
malena la pugliese interracial malena la pugliese nuovo porno
malena max malena la pugliese nuovo video
super cazzi porno malena la pugliese orgia
taxi xxx malena la pugliese orgia
michelle ferrari porno italiano malena la pugliese por
porn streaming italian malena la pugliese porm
rocco siffredi fucking malena la pugliese pormo
casting alla italiana streaming malena la pugliese porn
italian xxx movie malena la pugliese porn
solo figa italiana malena la pugliese porn hub
martina vs malena malena la pugliese porn tube
malena pornostar xvideos malena la pugliese porn videos
centoxceno malena la pugliese porno
video hard dipre malena la pugliese porno gratis
malena double malena la pugliese porno video
tatoo porno malena la pugliese pornostar
when girls play malena la pugliese pov








