Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 21086|Odpověď: 0

[Zdroj] InternalsVisibleToAttribute vystavuje interního člena specifikované friendové sestavě

[Kopírovat odkaz]
Zveřejněno 06.02.2017 14:27:59 | | |
Úvod do shromáždění Youyuan
Víme, že členové třídy, kteří jsou definováni jako interní (včetně typů, metod, vlastností, proměnných, událostí), mohou být přístupní pouze ve stejném assembleru (samozřejmě mluvím o běžném způsobu, nezahrnující přístup přes reflexi). Toto pravidlo je v . .NET 2.0 je mírně rozbitý, což nám umožňuje nastavit interní členy assembleru tak, aby byli přístupní konkrétním členům. Sestavu, která obsahuje tyto vnitřní členy, nazýváme zdrojovou sestavou a sadou sestavení se nazývá přátelská sestava.

Použití přátelského shromáždění
Tento atribut se používá na úrovni assembleru.


Tímto způsobem může program FriendAssembly po odkazu na assembler přistupovat k interní vlastnosti Name.
Obecně platí, že tento assembl:InternalsVisibleTo ("FriendAssembly") je lépe umístěn v AssemblyInfo.cs, protože je na úrovni assembleru.

Kdy použít InternalsToVisibleTo
Ve skutečnosti se tento atribut v běžných aplikacích nepoužívá a neměli bychom ho zneužívat. Protože obecně dobře navržená sestava nemusí být otevřená vnějšímu světu.
Ale scénáře jednotkového testování mohou tuto funkci využít. Díky této funkci můžeme specifikovat, že kód pro jednotkové testy má přístup k těmto interním členům, abychom je mohli jednotkově testovat. To však vyžaduje napsat jméno friend assembly mrtvého do source assembly, což způsobuje určité bezpečnostní problémy. Bezpečnost lze zaručit zavedením sestav podpisů.

InternalsToVisibleTo a sestava podpisu
Můžete přímo zadat název a veřejný klíč přátelského meta assembleru do InternalsVisibleTo.
Použijte příkazový řádek vývojáře VS k vygenerování veřejného klíče pro FriendAssembly:


Specifikujte název friendového assembleru a veřejný klíč ke zdrojovému assembleru:


Ve skutečnosti, protože friend assembly odkazuje na zdrojové assembler, a signed assembly odkazuje na nepodepsané assembler, a signed assembly nemůže specifikovat nepodepsané přátelské assembler, všechny z nich jsou podepsané, a pak je třeba je podepsat.





Předchozí:Automaticky přejděte na stránku převodu plateb Tenpay a vyplňte informace automaticky
Další:Použijte InternalsVisibleTo pro přidání "friend assembly" do assembleru
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com