Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 21086|Antwort: 0

[Quelle] InternalsVisibleToAttribute stellt das interne Mitglied der angegebenen Friend-Assembly zur Verfügung.

[Link kopieren]
Veröffentlicht am 06.02.2017 14:27:59 | | |
Einführung in die Youyuan-Versammlung
Wir wissen, dass Mitglieder einer Klasse, die als intern definiert sind (einschließlich Typen, Methoden, Eigenschaften, Variablen, Ereignissen), nur in derselben Assembly zugänglich sind (natürlich spreche ich hier von der normalen Methode, ohne Zugriff über Reflexion). Diese Regel ist in . .NET 2.0 ist leicht kaputt, sodass wir die internen Mitglieder einer Assembly so einstellen, dass sie von bestimmten Mitgliedern zugänglich sind. Wir nennen die Assembly, die diese internen Mitglieder enthält, die Quell-Assembly, und die Assembly-Menge heißt Friend-Assembly.

Verwendung der Freundschaftsmontage
Dieses Attribut wird auf Assemblerebene verwendet.


So kann das FriendAssembly-Programm, nachdem es auf die Assembler referenziert hat, auf die interne Name-Eigenschaft zugreifen.
Im Allgemeinen ist diese Assembly:InternalsVisibleTo("FriendAssembly") besser im AssemblyInfo.cs platziert, schließlich ist sie auf Assembly-Ebene.

Wann man InternalsToVisibleTo verwenden sollte
Tatsächlich wird dieses Attribut in allgemeinen Anwendungen nicht verwendet, und wir sollten es nicht missbrauchen. Denn im Allgemeinen muss eine gut gestaltete Baugruppe nicht offen für die Außenwelt sein.
Aber Unit-Test-Szenarien können diese Funktion nutzen. Mit dieser Funktion können wir festlegen, dass der Code für Unit-Tests Zugriff auf diese internen Mitglieder hat, damit wir diese Mitglieder unit-testen können. Dies erfordert jedoch, dass der Name der Friend-Assembly in die Quell-Assembly eingeschrieben wird, was einige Sicherheitsprobleme verursacht. Sicherheit kann durch die Einführung von Signatur-Assemblies gewährleistet werden.

InternalsToVisibleTo und die Signatur-Assembly
Du kannst direkt den Namen und den öffentlichen Schlüssel der Friend-Meta-Assembly in InternalsVisibleTo angeben.
Verwenden Sie die VS-Entwickler-Kommandozeile, um den öffentlichen Schlüssel für FriendAssembly zu generieren:


Gib den Namen der Friend-Assembly und den öffentlichen Schlüssel der Quell-Assembly an:


Tatsächlich, da die Friend-Assembly auf die Quell-Assembly referenziert, und die signierte Assembly auf eine unsignierte Assembly, und die signierte Assembly keine unsignierte Friend-Assembly angeben kann, sind alle davon signiert, also müssen sie signiert werden.





Vorhergehend:Springen Sie automatisch zur Tenpay-Zahlungsüberweisungsseite und füllen Sie die Informationen automatisch aus
Nächster:Verwenden Sie InternalsVisibleTo, um "friend assembly" zur Montage hinzuzufügen
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com