2009-05-15 11 views

Antwort

3

ASP.NET MVC leitet die Aktion und den Controller zum Aufrufen von URL ab. Routing im Allgemeinen.

0

WPF Databinding:

1) Binding-Pfad "(TextBox.Text)" vs "Text"?

Wenn Sie an einen Pfad namens Text binden, verwendet WPF die Reflektion, um den Namen aufzulösen. Wenn Sie den für die Klasse qualifizierten Namen verwenden, wird durch die Bindung der Reflexionsleistungstreffer vermieden. Klassenqualifizierte Namen können auch an angehängte Eigenschaften gebunden werden!

(via http://dotnet.org.za/rudi/archive/2008/03/25/10-things-i-didn-t-know-about-wpf-data-binding.aspx)

2

In jüngster Zeit hatte ich Reflektion verwenden eine Anordnung (in der Reihenfolge ihrer öffentlichen Arten zu untersuchen) laden von nur den Weg der Versammlung.

2

Vor Linq unterstützt Um Sql herauskam ... Ich musste schreibe mein eigenes ORM in .NET 2.0.

benutzte ich Reflexion stark zurück zu reflektieren:

  • Klassen auf ihre CRUD gespeicherte Prozeduren
  • Eigenschaften, um ihre Spaltennamen
  • Welche Operationen gültig für die Klasse waren

I verwendete auch reflection, um alle Variablenzuweisungen zu behandeln, nachdem die Ergebnisse abgerufen wurden (alle Klassen erbten eine ActiveRecord-Klasse, die die Aufrufe in die DAL umwandelte).

Grobe Sachen ... aber nach einigen Performance-Tuning war es nicht halb so schlimm.

0

Meine DAL ist alle Reflexion basiert. Es spiegelt die POCO-Eigenschaften wider, um SQL zu erstellen.

1

Daten aus einer SQL-Tabelle ziehen, wo Sie eine ID hatte, eine Art, und andere Daten

Dann könnten Sie „Chevrolet“ laden und mit allen funktioniert Methoden

0

Innerhalb einer Fabrik wir, Verwenden Sie die Reflektion, um entweder eine "Dummy" -Implementierung einer Schnittstelle oder eine reale (an die DB angeschlossene) Implementierung einer Schnittstelle zurückzuleiten, basierend auf der Klasse, die in einer Eigenschaftendatei (in Java) angegeben ist.

1

Ich hatte Gelegenheit, einen Python O/R Mapper auf einmal zu schreiben, aber es war ein Proof of Concept und ging nie in Produktion.

Ich mache eine Menge Arbeit, die das Systemdatenwörterbuch auf einem DBMS ausgiebig verwendet (zum Beispiel ein generischer sich langsam ändernder Dimensionslader). Man könnte argumentieren, dass dies der reflektiven Programmierung im Prinzip nicht unähnlich ist.

Schließlich ist Python in all seinen Formen sehr einfach zu tun mit Reflexion. In der Tat ist es so gut, dass ich es verwendet habe, um mit den zugrunde liegenden APIs in anderen Sprachen zu stochern - und die reflektiven Fähigkeiten zu verwenden, um die zugrunde liegenden Schnittstellen abzufragen. Ich habe dies mit so ziemlich jedem reflektierenden Mechanismus getan, der in der Python-Welt existiert: CPython auf Python-APIs und COM-APIs verwendet makepy, Jython für Java-APIs und IronPython für .Net-APIs.

1

In einer meiner letzten Apps, einem Add-In für Kofax Express, habe ich die Option, eine Datei zu OCR zu schreiben und eine PDF auszugeben. Da das OCR-Tool, das ich verwende, eine Laufzeitgebühr hat, habe ich den OCR-Teil zu einer separaten Assembly gemacht. Wenn die Datei existiert, zeige ich die OCR-Optionen und verbinde die Assembly spä- ter und rufe die erforderlichen Methoden auf und lege sie mit Reflexion an die Ereignisse an. Eine einfache Plug-in-Architektur ohne Schnittstellen und erspart Kunden die Zahlung von Lizenzgebühren, wenn sie OCR nicht benötigen; Wir geben ihnen einfach nicht die OCR-DLL.