volutions des langages 'NET - PowerPoint PPT Presentation

1 / 9
About This Presentation
Title:

volutions des langages 'NET

Description:

Version 2.0 2005 DNG/003. C# 3.0 et XLinq. Evolutions des langages. ... Son constructeur accepte un nombre arbitraire de param tres compl mentaires au nom de la ... – PowerPoint PPT presentation

Number of Views:31
Avg rating:3.0/5.0
Slides: 10
Provided by: SJA55
Category:

less

Transcript and Presenter's Notes

Title: volutions des langages 'NET


1
C 3.0 et XLinq
  • Évolutions des langages .NET
  • Thomas GIL DotNetGuru
  • thomas.gil_at_dotnetguru.org

Version 2.0 2005 DNG/003
2
Sommaire
  • C 3.0
  • Linq et XLinq
  • Que manque-t-il à C ?

3
C 3.0
  • Typage implicite des variables
  • var bill new Personne("Bill")
  • Initialisation (objets/collections)
  • var bill new Personne Prenom "Bill"
  • Méthodes dextension
  • static void TisserAspects(this Personne p)...
  • bill.TisserAspects()
  • Lambda calcul
  • U ExecuteltT,Ugt(T t, FuncltT,Ugt f) return f(t)
  • Execute(bill, p gt p.RepondreQuestions())

4
Linq
  • Objectif simplifier lexpression de requêtes
  • Cibles
  • graphes dobjets (linq)
  • xml (xlinq)
  • relationnel (dlinq)
  • Deux syntaxes sont disponibles
  • Méthodes dextension et lambda expressions
  • sessions.SelectMany(s gt s.Intervenants).Reverse()
  • Opérateurs intégrés
  • from list in sessions, i in list.Intervenants
    where i.Prenom.Length gt 3select i

5
Linq principaux opérateurs / méthodes
  • Ils opèrent sur tout IEnumerableltTgt
  • Restriction logique pour min/max valeurs
    numériques

6
XLinq une structure classique
  • Un DOM rénové

7
XLinq interaction simplifiée
  • Parsing dun texte XML
  • XElement e XElement.Parse("lt..gtlt/..gt")
  • Interaction en mémoire
  • XElement est la pièce maîtresse de lAPI XLinq
  • Son constructeur accepte un nombre arbitraire de
    paramètres complémentaires au nom de la balise
  • e.Add(new XElement("Personne", new
    XAttribute("Nom", "Bob")))
  • e.Save("Personnes.xml")
  • Difficile de faire plus simple

8
XLinq / XPath requêtes comparées
  • XPath
  • dom.SelectNodes("//toto_at_bob 't'")
  • XLinq
  • from e in elt.Descendants() where
    (string)e.Attribute("bob") "t" select e
  • lambda / XLinq
  • elt.Descendants().Where (o gt (string)
    o.Attribute("bob") "t")

9
Que manque-t-il à C ?
  • Visibilité partielle et sélective
  • Associations réifiées
  • Délégation intégrée
  • Lambda expressions à typage dynamique
  • AOP, AOP Générique
  • Traversée/chargement de graphes plus naturelles
  • Nouveaux mots-clé  utilisateur 
Write a Comment
User Comments (0)
About PowerShow.com