3. LINQ To Objects – was ist das?
wird bereits zur Entwurfszeit auf Korrektheit geprüft
erlaubt typsichere Abfragen auch über komplexe
Objektstrukturen, z.B. durch Aggregierung,
Projektion, Joins, Berechnungen etc.
Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany
3 info@communardo.de · www.communardo.de · Tel. +49 (351) 8 33 82-0
4. LINQ To Objects – was ist das?
wird über Extension-Methods realisiert
Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany
4 info@communardo.de · www.communardo.de · Tel. +49 (351) 8 33 82-0
5. Warum dynamisch?
Use-Case: Die Anwender sollen selbst im User-
Interface definieren können, nach welchen Attributen
die anzuzeigenden Objekte gefiltert und sortiert
werden sollen.
eines der großen Pro‘s von LINQ wird zum
„Verhängnis“ – die Typsicherheit
Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany
5 info@communardo.de · www.communardo.de · Tel. +49 (351) 8 33 82-0
6. Dynamisch… aber wie?
LINQ Queries sind aufgebaut als sog. Expression-
Tree
visualisierbar z.B. mit Expression Tree Viewer
(http://sourceforge.net/projects/exprview/)
Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany
6 info@communardo.de · www.communardo.de · Tel. +49 (351) 8 33 82-0
7. Was ist zu tun?
Liste von Objekten vom Typ
„Restaurant“
dynamische Filterung und Sortierung der
Daten nach vom Anwender gewählten
Kriterien
dynamischer Aufbau des ExpressionTrees
ggf. per Reflection mögliche Kriterien ermitteln
Visualisierung der Ergebnisse in einem
Grid
Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany
7 info@communardo.de · www.communardo.de · Tel. +49 (351) 8 33 82-0