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

Ansehen: 27740|Antwort: 2

[Quelle] .net/C# spiegelt nicht-anonyme Funktionen <>f__AnonymousType0 Methoden wider

[Link kopieren]
Veröffentlicht am 16.10.2020, 17:51:42 | | | |
Bei der Verwendung von AOP Face-to-Face-Programmierung muss man die Methode auf eine virtuelle Methode setzen, um die Methode normal abzufangen. Da es zu viele Methoden gibt, virtuelle Schlüsselwörter zu übersehen, nutzen Sie Reflexion, um alle Methoden zu finden, um festzustellen, ob Sie Schlüsselwörter übersehen. Bei Verwendung der Reflexionserfassungsmethode werden <>f__AnonymousType0 eine große Anzahl anonymer Funktionen erhalten, und dieses Paper verwendet die Reflection Exclusion Anonymous-Methode, um alle Methoden aller Objekte zu erhalten, die die generische Basisklasse erben; der Text enthält .NET- und .NET-Core-Versionen.

C# Anonymes Typ-Lerntagebuch
https://www.itsvse.com/thread-9417-1-1.html


Hol dir zuerst die aktuelle Assembly

.NET-Version:



.NET Core Version:



Die vom Service-Objekt geerbte Basisklasse



Reflexionserfassungs-Nicht-virtuelle Methode

Wenn Sie alle Assemblies und alle Methoden durch Reflexion erhalten, erhalten Sie möglicherweise die anonyme Methode AnonymousType, wie in der Abbildung unten gezeigt:



.NET-Version



.NET Core Version



Bestimmen Sie, ob es sich um eine anonyme Funktion handelt



Der Namespace und DeclaringType anonymer Funktionen sind null, und der Namespace nicht-anonymer Funktionen darf nicht null sein!




Vorhergehend:C# Anonymes Typ-Lerntagebuch
Nächster:Zehn Jahre lang .NET-Programme mit Notepad zu Hause am Computer debuggen
 Vermieter| Veröffentlicht am 16.10.2020, 18:02:10 |
Wenn du alle Objekte der Assembly hast, findest du einige anonyme Objekte, die vom +<>c-Compiler generiert werden
CompilerGeneratedAttribut-Eigenschaften können verwendet werden, um zwischen Compiler-generierten Objekten zu unterscheiden

Der Code lautet wie folgt:


 Vermieter| Veröffentlicht am 29.5.2024, 11:18:39 |
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