Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 21086|Odpoveď: 0

[Zdroj] InternalsVisibleToAttribute vystavuje interného člena špecifikovanému priateľskému zostaveniu

[Kopírovať odkaz]
Zverejnené 6. 2. 2017 14:27:59 | | |
Úvod do zhromaždenia Youyuan
Vieme, že členovia triedy, ktorí sú definovaní ako interní (vrátane typov, metód, vlastností, premenných, udalostí), môžu byť prístupní len v tej istej zostave (samozrejme, hovorím o bežnom spôsobe, nepočítajúc prístup cez reflexiu). Toto pravidlo je v . .NET 2.0 je mierne nefunkčný, čo nám umožňuje nastaviť prístup k interným členom zostavy pre konkrétnych členov. Zostavu, ktorá obsahuje týchto vnútorných členov, nazývame zdrojová zostava a táto množina sa nazýva priateľská zostava.

Použitie v priateľskom zhromaždení
Tento atribút sa používa na úrovni zostavenia.


Týmto spôsobom, po tom, čo program FriendAssembly odkazuje na assembler, môže pristupovať k internej vlastnosti Name.
Všeobecne platí, že táto zostava:InternalsVisibleTo ("FriendAssembly") je lepšie umiestnená v AssemblyInfo.cs, veď je na úrovni zostavenia.

Kedy použiť InternalsToVisibleTo
V skutočnosti sa tento atribút vo všeobecných aplikáciách nepoužíva a nemali by sme ho zneužívať. Pretože vo všeobecnosti dobre navrhnutá zostava nemusí byť otvorená vonkajšiemu svetu.
Ale scenáre jednotkového testovania môžu túto funkciu využiť. S touto funkciou môžeme špecifikovať, že kód pre jednotkové testy má prístup k týmto interným členom, aby sme ich mohli jednotkovo testovať. Avšak to vyžaduje, aby názov friend assembly bol mŕtvy v zdrojovom kóde, čo spôsobuje určité bezpečnostné problémy. Bezpečnosť môže byť zaručená zavedením podpisových zostáv.

InternalsToVisibleTo a signature assembly
Môžete priamo špecifikovať názov a verejný kľúč priateľskej meta zostavy do InternalsVisibleTo.
Použite príkazový riadok pre vývojárov VS na vygenerovanie verejného kľúča pre FriendAssembly:


Špecifikujte názov friend assembly a verejný kľúč k zdrojovému assembly:


V skutočnosti, keďže priateľské zhromaždenie odkazuje na zdrojové zhromaždenie, a podpísané zhromaždenie odkazuje na nepodpísané zhromaždenie, a podpísané zhromaždenie nemôže špecifikovať nepodpísané priateľské zhromaždenie, ktorékoľvek z nich je podpísané, potom musia byť podpísané.





Predchádzajúci:Automaticky prejdite na stránku prevodu platieb Tenpay a automaticky vyplňte informácie
Budúci:Použi InternalsVisibleTo na pridanie "friend assembly" do assembly
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com