Was ist die Reflexion in C #, was sind die Vorteile? Wie man es benutzt, um nützlich zu werden
Las ich einen Artikel auf msdn zu Reflexion aber ich war nicht in der Lage zu verstehen, es sogar noch 10% über seine benifit, seine Verwendung.
Könnten Sie bitte geben Sie einen kurzen überblick, was Reflexion ist und wie kann ich davon profitieren.
Kommentar zu dem Problem - Öffnen
Mögliche Duplikate: stackoverflow.com/questions/1897712 ... stackoverflow.com/questions/1859902
mögliche Duplikate von Reflexion. Was können wir erreichen?
An Alle: ich konnte immer noch nicht bekommen, wie ich m wird benifited. Könnte jemand von Euch zitieren einfachste Beispiel von seinem nutzen in Bezug auf coding helfen, code besser wiederverwendbar und in Bezug auf Funktionalität
InformationsquelleAutor der Frage Shantanu Gupta | 2010-06-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Reflexion ermöglicht Ihnen, code zu schreiben, der kann untersuchen verschiedene Aspekte über den code selbst.
Ermöglicht es Ihnen, einfache Dinge zu tun wie:
Überprüfen Sie den Typ eines Objekts zur Laufzeit (einfache Aufrufe
typeof()
zum Beispiel)Untersuchen Sie die Attribute eines Objekts zur Laufzeit zu ändern, das Verhalten einer Methode (die unterschiedlichen Serialisierungs-Methoden .NET)
Zu viel kompliziertere Aufgaben wie:
Die früher viel häufiger Nutzung. Die später ist hilfreich für Entwickler arbeitet an plug-in-Architekturen, die für Ihre Anwendungen oder Leute, die tauschen wollen-Assemblys zur Laufzeit je nach Konfiguration ändert.
InformationsquelleAutor der Antwort Justin Niessner
Reflexion ist eine Möglichkeit für Sie, um programmgesteuert zu entdecken, Typen zur Laufzeit. Dies ist sehr wichtig, weil .NET-Sprachen sind stark typisiert. Zugriff auf die Metadaten, die ist extrem nützlich.
Eine große Sache jetzt (fließend Schnittstellen/Adapter) verlassen sich stark auf die Reflexion. Insbesondere die statische ist die Reflexion ziemlich groß. Wenn Sie möchten, um zu sehen, konkrete Beispiele und eine gute Erklärung der statischen Reflexion, check-out:
http://jagregory.com/writings/introduction-to-static-reflection/
http://www.lostechies.com/blogs/gabrielschenker/archive/2009/02/03/dynamic-reflection-versus-static-reflection.aspx
Natürlich nur einen kleinen Teil der Reflexion im Allgemeinen. Wenn Sie möchten mehr info über die Allgemeine Nutzung der Reflexion, check-out Apress Pro C# 2008 und dem .NET 3.5 Plattform, Vierte Edition, Kapitel 16. Es gräbt sich ziemlich in die Tiefe, in die .NET-Typ system und wie wird der verwendet, in Bibliotheken und zur Laufzeit.
InformationsquelleAutor der Antwort Jim Schubert
Reflexion ermöglicht Ihrem code aufrufen, Methoden und Eigenschaften, die Sie gar nicht kennen, wenn der code kompiliert wurde. Eines der built-in-Klassen verwendet, dies ist die XmlSerializer. Man kann Sie jedes Objekt, das Sie konvertieren möchten, um XML. Er bittet das Objekt, was alle seine Eigenschaften sind mit Reflexion dann in der Lage ist, ein XML-Dokument enthält die erforderlichen Elemente, um das Objekt.
InformationsquelleAutor der Antwort David
Reflexion ist die Fähigkeit von Arten, um Informationen über sich selbst. Zum Beispiel, eine assembly kann Ihnen sagen, was es enthält, ein Typ kann Ihnen sagen, Ihre Methoden, Eigenschaften und so weiter.
Dynamisch die Bereitstellung dieser Informationen ist in vielerlei Hinsicht sinnvoll. Ein einfaches Beispiel, um zu denken, ist die Metadaten von web-services - wenn eine person "verbraucht" ein web-service, proxy-Klasse generiert für Ihre Kunden. Dieser proxy ist erzeugt aus einem WSDL-Dokument und dass die meisten oft generiert sich aus Art erzeugten Metadaten per reflektion.
Ein weiteres einfaches Beispiel ist das dynamische laden von Typen, um die Durchführung einiger dieser Einheit arbeiten. Ein Projekt, das ich gearbeitet verwertet Reflexion zu laden "Regeln" aus einer Datenbank zu übernehmen, um die Eingaben in das system.
InformationsquelleAutor der Antwort t3rse
Reflexion hilft Ihnen metaprogramming, das ist zweifellos eine der coolsten Programmier-Techniken. Google für metaprogramming für weitere Informationen.
InformationsquelleAutor der Antwort Jim
Einer der Vorteile von Reflexion ist, dass es erlaubt Ihnen, speichern Sie alle änderungen an der dataset-designer, wie eine Transaktion in SQL
InformationsquelleAutor der Antwort ALi
Reflexion ist mächtig namespace verfügbar asp.net. durch den Einsatz von it können wir die Erstellung von dynamischen runtime-Objekt und rufen Sie die Vervollständigung auf.er verwendete hauptsächlich in der Entwicklung von framework-Typ Anwendung.
InformationsquelleAutor der Antwort Sohil Raval