<ul><li>Rappel </li></ul><ul><ul><li>Evolutions du .NET Fx et de son IDE </li></ul></ul><ul><li>Vue d'ensemble des innovat...
 
 
Source :  http://www.danielmoth.com/Blog/2007/06/visual-studio-2008-stack.html   2002 2003 2005 2006 2008 (?) Visual Studi...
 
 
 
<ul><li>Intégration forte de : </li></ul><ul><ul><li>L’objet </li></ul></ul><ul><ul><li>Des données relationnelles </li></...
Dim contacts = From c In customers Where c.State = &quot;WA&quot; Select New With { Name = c.Name, _   Phone = c.Phone } D...
 
<ul><li>Générics </li></ul><ul><ul><li>Suppression du boxing/unboxing  </li></ul></ul><ul><ul><ul><li>Suppression du Casti...
<ul><li>My </li></ul><ul><li>Surcharge des opérateurs </li></ul><ul><li>IsNot </li></ul><ul><li>Using </li></ul><ul><li>Ty...
<ul><li>Inférence de Type </li></ul><ul><li>Initialisation d’objets simplifiée </li></ul><ul><li>Types Anonymes </li></ul>...
<ul><li>Option Infer On (valeur par défaut) </li></ul><ul><li>Dim « maVar » = « maValeur » </li></ul><ul><li>Fortement Typ...
<ul><li>Syntaxe simplifiée </li></ul><ul><li>Mot clé “  With  ” </li></ul><ul><li>Initialisation d’objet avec un type null...
<ul><li>Repose sur  </li></ul><ul><ul><li>l’initialisation d’objets </li></ul></ul><ul><ul><li>inférence de Types </li></u...
<ul><li>Les propriétés « Key » participent aux tests d'égalité et aux calculs de valeurs de code de hachage.  </li></ul><u...
<ul><li>Permet d’étendre </li></ul><ul><ul><li>Les Types du .NET Framework </li></ul></ul><ul><ul><li>Vos propres Types </...
<ul><li>Encore appelé :  </li></ul><ul><ul><li>Délégués Non Stricts </li></ul></ul><ul><ul><li>Relaxed Delegates </li></ul...
<ul><li>Syntaxe : « T? » </li></ul><ul><li>Uniquement pour les Types Valeur </li></ul><ul><li>HasValue / Value </li></ul>T...
<ul><li>Lambda opérateur «  Function  » </li></ul><ul><li>Se lit  «  Function(myNum As Integer) conduit à myNum + 1  » </l...
<ul><li>Littéraux XML  </li></ul><ul><ul><li>d'incorporer directement du XML à votre code VB </li></ul></ul><ul><ul><li>Ob...
<ul><li>Propriétés d'Axe XML :  </li></ul><ul><ul><li>permettant d'accéder aux structures LINQ to XML et les parcourir.   ...
<ul><li>Gestion des Espaces de Noms XML :  </li></ul><ul><ul><li>Spécifier un &quot;Alias&quot; afin d'identifier un espac...
<ul><li>Représente une expression sous forme d’arbre </li></ul><ul><ul><li>AST : Abstract Syntax Tree </li></ul></ul><ul><...
<ul><li>Traduction des expressions lambda : </li></ul><ul><ul><li>Code IL </li></ul></ul><ul><ul><li>Abres d’expression (=...
<ul><li>Une expression représente l’arbre d’objets qui représente l’expression passée en argument </li></ul>
<ul><li>Friend assemblies </li></ul><ul><ul><li>Attribut “VisibleTo” </li></ul></ul><ul><li>Agilité du Runtime </li></ul><...
http://blogs.developpeur.org/redo/archive/2008/02/04/nouveaut-s-vb-2008-vb-9-0-expressions-lambda.aspx
<ul><li>Visual Basic Dev Center & Content: </li></ul><ul><ul><li>http://msdn.com/vbasic/ </li></ul></ul><ul><li>VB Team Bl...
<ul><li>S’informer  - Un portail d’informations, des événements, une newsletter bimensuelle personnalisée </li></ul><ul><l...
© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be...
Prochain SlideShare
Chargement dans…5
×

Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0

981 vues

Publié le

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
981
Sur SlideShare
0
Issues des intégrations
0
Intégrations
4
Actions
Partages
0
Téléchargements
0
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • 11/11/09 19:08 © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
  • Qui est Wygwam ? Wygwam est un bureau d’expertise technologique situé en France et en Belgique. Wygwam est la plus forte concentration de MVPs en Europe avec 6MVPs et un RD. Nous sommes organisés en pôles de compétences, chacun d’eux dirigé par un MVP et devant délivrer 3 types de services à la clientèle. Nos pôles de compétence sont : Technology Fundamentals (TF) – Dirigé par Grégory Renard, MVP et RD, en charge de la stratégie générale de Wygwam et de Microsoft .NET en général. Online Strategies &amp; Tactics (OST) – Dirigé par Aurélien Verla, MVP, en charge de l’intégration des technologies de l’Internet dans vos solutions (Technologies comme &lt;Lire les technos&gt; Collaboration &amp; Portal Team (CPT) – Dirigé par Renaud Compte, MVP, en charge de la stratégie d’intégration de portails collaboratifs dans vos infrastructures d’entreprise (Technologies comme &lt;Lire les technos&gt; Nos métiers sont : Le coaching: &lt;Lire les points&gt; Le développement de pointe: &lt;Lire les points&gt; Les services packagés: &lt;Lire les points&gt; Pour plus d’information : www.wygwam.com
  • 11/11/09 19:08 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  • The main points are that the CLR engine is the same version (so no need to retest your apps) and that the headline feature is the language enhancements (C#3 &amp; VB9 compilers) and LINQ.
  • The main points are that the CLR engine is the same version (so no need to retest your apps) and that the headline feature is the language enhancements (C#3 &amp; VB9 compilers) and LINQ.
  • 11/11/09 19:08 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  • VB = longer history (up to 9.0) Refer to huge transition from 6.0 to .NET which implied the creation of a runtime library for bw compat: play the rules of the CLS (OO for example) and remain consistent with VB pre-.NET VB 8.0 = Generics VB 9.0 = LINQ + XML (difference with C#)
  • Similar story as in C# 3.0 except for XML integration; emphasize that language evolutuon doesn’t mean that languages have to go hand in hand on any field.
  • Similar story as with C# 3.0 but abbrev’d.
  • 11/11/09 19:08 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  • Réf : http://www.dotnetguru.org/articles/dossiers/generics/CS2_Generics_FR2.htm
  • 11/11/09 19:08 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  • L&apos;inférence de type a principalement été intégrée à Visual Basic 2008 [9.0] afin de supporter par exemple les types anonymes ou encore LINQ : Language INtegrated Query que nous tenterons de parcourir dans un prochain post
  • http://msdn2.microsoft.com/en-us/library/bb385125(VS.90).aspx http://blogs.developpeur.org/redo/archive/2008/01/28/nouveaut-s-vb-2008-vb-9-0-initialisation-d-objets-simplifi-e.aspx
  • Les méthodes d&apos;extension vous permettront d&apos;étendre : Les Types du .NET Framework Vos propres Types Une méthode d&apos;extension peut uniquement être une procédure Sub ou Function . Vous ne pouvez pas définir une extension sur une propriété, un champ ou un événement. Les méthodes d&apos;extension doivent être marquées de &amp;quot; &lt;Extension()&gt; &amp;quot; appartenant à l&apos;espace de nom : &amp;quot; System.Runtime.CompilerServices &amp;quot;
  • Types Valeur peuvent être étendus afin d&apos;accepter une valeur normale ou une valeur Null
  • http://msdn2.microsoft.com/en-us/library/bb531253(VS.90).aspx http://msdn2.microsoft.com/en-us/library/ms364068(VS.80).aspx#vb9overview_topic8 Simplifications d&apos;écriture des entêtes d&apos;une méthode anonyme Permet d’écrire une fonction dans une expression et de récupérer un pointeur vers cette fonction Possibilité de récupérer un arbre d’expression http://blogs.developpeur.org/redo/archive/2008/02/04/nouveaut-s-vb-2008-vb-9-0-expressions-lambda.aspx
  • http://msdn2.microsoft.com/fr-fr/bb384460.aspx Visual Basic offre une prise en charge de LINQ to XML via les littéraux XML et les propriétés d&apos;axe XML. Cela vous permet d&apos;utiliser une syntaxe pratique et familière pour utiliser le XML dans votre code Visual Basic. Les littéraux XML vous permettent d&apos;inclure directement du XML dans votre code. Les propriétés d&apos;axe XML vous permettent d&apos;accéder aux nœuds enfants, nœuds descendants et attributs d&apos;un littéral XML
  • http://msdn2.microsoft.com/fr-fr/bb384460.aspx Visual Basic offre une prise en charge de LINQ to XML via les littéraux XML et les propriétés d&apos;axe XML. Cela vous permet d&apos;utiliser une syntaxe pratique et familière pour utiliser le XML dans votre code Visual Basic. Les littéraux XML vous permettent d&apos;inclure directement du XML dans votre code. Les propriétés d&apos;axe XML vous permettent d&apos;accéder aux nœuds enfants, nœuds descendants et attributs d&apos;un littéral XML
  • http://msdn2.microsoft.com/fr-fr/bb384460.aspx Visual Basic offre une prise en charge de LINQ to XML via les littéraux XML et les propriétés d&apos;axe XML. Cela vous permet d&apos;utiliser une syntaxe pratique et familière pour utiliser le XML dans votre code Visual Basic. Les littéraux XML vous permettent d&apos;inclure directement du XML dans votre code. Les propriétés d&apos;axe XML vous permettent d&apos;accéder aux nœuds enfants, nœuds descendants et attributs d&apos;un littéral XML
  • http://msdn2.microsoft.com/fr-fr/library/bb397951(VS.90).aspx Représente une expression sous forme d’arbre … AST (abstract syntax tree) http://en.wikipedia.org/wiki/Abstract_syntax_tree http://www.dotnetguru.org/articles/dossiers/creercompilo/compilateurdnet2.htm ( Lionel Laské ) Pourquoi construire un arbre ? Tout simplement parce que c&apos;est la structure la plus simple à parcourir. Si chaque nœud correspond à un objet en mémoire: pour écrire un interpréteur il suffit d&apos;évaluer chaque nœud en remontant pour trouver le résultat de l&apos;expression et, pour écrire un compilateur il suffit d&apos;utiliser un visiteur pour générer le code correspondant à chaque nœud Expression de la sémantique de la requête Traduction de cette sémantique et interprétation selon les sources Ex: conversion en SQL On ne définit plus la logique du code… Sa réalisation est faite par le fournisseur (MS)
  • More difficult; can be skipped if under time pressure Possible reference to CodeDOM as other representation mechanism for code “at runtime” and “as data”; other reference = AST (abstract syntax tree). Story of the lazy compiler: instead of generating executable IL code, it just returns you the intermediary tree-based code representation  APIs take over the compiler’s job to do the rest of the compilation at runtime . Refer back to the LINQ to SQL sample from the beginning: we don’t need IL straight away (or the C# compiler would have to know how to work with System.Data.SqlClient and how to build SQL strings based on LINQ queries); instead we need some representation of the query that the LINQ to SQL library can consume in order to transform it into the corresponding SQL statement(s).
  • Friend assemblies: make the “Friend” members of an assembly visible to another assembly (e.g. expose internals of one assembly to an assembly that contains a debugger visualizer) Runtime agility: remember the need for a VB runtime library in (and pre-) .NET (Microsoft.VisualBasic.dll and previously MSVBVM**.dll)? Reduce footprint (e.g. Silverlight) = get rid of runtime of compile against another (custom) runtime Others are minor improvements
  • 11/11/09 19:08 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  • 11/11/09 19:08 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  • 11/11/09 19:08 © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
  • Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0

    1. 2. <ul><li>Rappel </li></ul><ul><ul><li>Evolutions du .NET Fx et de son IDE </li></ul></ul><ul><li>Vue d'ensemble des innovations de VB 9.0 </li></ul><ul><ul><li>Historique de Visual Basic </li></ul></ul><ul><ul><li>Objectifs de conception de VB 9.0 </li></ul></ul><ul><ul><li>Innovations de VB 9.0 </li></ul></ul><ul><li>Parcours de nouveautés du langage VB 9.0 </li></ul><ul><ul><li>Rappel des nouveautés de VB 8.0 </li></ul></ul><ul><ul><li>Nouveautés de VB 9.0 </li></ul></ul>
    2. 5. Source : http://www.danielmoth.com/Blog/2007/06/visual-studio-2008-stack.html 2002 2003 2005 2006 2008 (?) Visual Studio VS.NET 2002 VS.NET 2003 VS2005 VS2005 + Extensions VS2008 Langage VB.NET v7.0 C# v1.0 VB.NET v7.1 C# v1.1 VB.NET v8.0 C# v2.0 VB.NET v8.0 C# v2.0 VB.NET v9.0 C# v3.0 Framework .NET 1.0 .NET 1.1 .NET 2.0 .NET 3.0 .NET 3.5 CLR CLR v1.0 CLR v1.1 CLR v2.0 CLR v2.0 CLR v2.0
    3. 9. <ul><li>Intégration forte de : </li></ul><ul><ul><li>L’objet </li></ul></ul><ul><ul><li>Des données relationnelles </li></ul></ul><ul><ul><li>Du XML </li></ul></ul><ul><ul><li>… Linq, query expressions, support du xml … </li></ul></ul><ul><li>Ameliorations du langage </li></ul><ul><ul><li>Sur les tâches courantes : déclaration simplifiée d’objets, délégués non stricts, Inférence de type, … </li></ul></ul><ul><li>Ajout de nouvelles fonctionnalités </li></ul><ul><ul><li>Lambda expressions </li></ul></ul><ul><ul><li>Méthodes d’extensions </li></ul></ul><ul><ul><li>… </li></ul></ul>
    4. 10. Dim contacts = From c In customers Where c.State = &quot;WA&quot; Select New With { Name = c.Name, _ Phone = c.Phone } Dim contacts = customers _ .Where(Function(c) c.State = &quot;WA&quot;) _ .Select(Function(c) New With { Name = c.Name, _ Phone = c.Phone }) Méthodes d’extension Expressions Lambda Query expressions Initialisation d’objets Types anonymes Types implicites Types Valeur Nullable Arbres d’expressions Support de l’XML Méthodes Partielles
    5. 12. <ul><li>Générics </li></ul><ul><ul><li>Suppression du boxing/unboxing </li></ul></ul><ul><ul><ul><li>Suppression du Casting implicite </li></ul></ul></ul><ul><ul><li>Gestion de l’erreur lors de la compilation </li></ul></ul><ul><ul><li>Meilleure lisibilité du code </li></ul></ul><ul><ul><li>Meilleures performances </li></ul></ul><ul><li>Classes Partielles </li></ul><ul><ul><li>Définition d’une classe sur plusieurs fichiers </li></ul></ul><ul><ul><li>Utilité dans la génération de code </li></ul></ul><ul><ul><li>Exploité par les Winforms et Webforms </li></ul></ul>
    6. 13. <ul><li>My </li></ul><ul><li>Surcharge des opérateurs </li></ul><ul><li>IsNot </li></ul><ul><li>Using </li></ul><ul><li>Types Entiers non signés </li></ul><ul><li>Etat continue </li></ul>
    7. 14. <ul><li>Inférence de Type </li></ul><ul><li>Initialisation d’objets simplifiée </li></ul><ul><li>Types Anonymes </li></ul><ul><li>Méthodes d’Extension </li></ul><ul><li>Délégués non Stricts </li></ul><ul><li>Types Valeur Nullables </li></ul><ul><li>Expressions Lambda </li></ul><ul><li>Support XML </li></ul><ul><li>Méthodes Partielles </li></ul>
    8. 15. <ul><li>Option Infer On (valeur par défaut) </li></ul><ul><li>Dim « maVar » = « maValeur » </li></ul><ul><li>Fortement Typé, directement initialisée </li></ul>Déduction du type de sortie d'une fonction par analyse des types fournis en entrées ainsi que des opérations effectuées sur ceux-ci http://blogs.developpeur.org/redo/archive/2008/01/27/nouveaut-s-vb-2008-vb-9-0-l-inf-rence-de-type.aspx
    9. 16. <ul><li>Syntaxe simplifiée </li></ul><ul><li>Mot clé “ With ” </li></ul><ul><li>Initialisation d’objet avec un type nullable engendrera un compile time error ! </li></ul>http://blogs.developpeur.org/redo/archive/2008/01/28/nouveaut-s-vb-2008-vb-9-0-initialisation-d-objets-simplifi-e.aspx
    10. 17. <ul><li>Repose sur </li></ul><ul><ul><li>l’initialisation d’objets </li></ul></ul><ul><ul><li>inférence de Types </li></ul></ul><ul><li>IntelliSense© disponible </li></ul><ul><li>Exploitée dans les projections de LINQ (Select) </li></ul>Création d’objets sans écrire de définition de classe pour le type de données le compilateur se charge de générer une classe http://blogs.developpeur.org/redo/archive/2008/01/29/nouveaut-s-vb-2008-vb-9-0-types-anonymes.aspx
    11. 18. <ul><li>Les propriétés « Key » participent aux tests d'égalité et aux calculs de valeurs de code de hachage. </li></ul><ul><li>Les valeurs des propriétés de clé ne peuvent pas être modifiées </li></ul>Le mot clé Key vous permet de spécifier le comportement des propriétés des types anonymes. http://blogs.developpeur.org/redo/archive/2008/01/29/nouveaut-s-vb-2008-vb-9-0-types-anonymes.aspx
    12. 19. <ul><li>Permet d’étendre </li></ul><ul><ul><li>Les Types du .NET Framework </li></ul></ul><ul><ul><li>Vos propres Types </li></ul></ul><ul><li>Uniquement : Sub ou Function </li></ul><ul><li>Doit être marqué de <Extension()> </li></ul><ul><ul><li>System.Runtime.CompilerServices </li></ul></ul>Permettent l’ajout de fonctionnalité personnalisées aux types de données déjà définis sans créer de type dérivé http://blogs.developpeur.org/redo/archive/2008/01/30/nouveaut-s-vb-2008-vb-9-0-les-m-thodes-d-extension.aspx
    13. 20. <ul><li>Encore appelé : </li></ul><ul><ul><li>Délégués Non Stricts </li></ul></ul><ul><ul><li>Relaxed Delegates </li></ul></ul><ul><li>Vraie relaxation : les paramètres ne sont pas obligatoires, vous pouvez ne pas les utiliser ! </li></ul>Permet d'assigner des méthodes (subs, fonctions) aux délégués ou aux gestionnaires lorsque les signatures (paramètres) ne sont pas identiques http://blogs.developpeur.org/redo/archive/2008/01/31/nouveaute-vb-2008-vb-9-0-conversion-simplifiee-des-delegues-non-stricts-relaxed-delegates.aspx
    14. 21. <ul><li>Syntaxe : « T? » </li></ul><ul><li>Uniquement pour les Types Valeur </li></ul><ul><li>HasValue / Value </li></ul>Types Valeur peuvent être étendus afin d'accepter une valeur normale ou une valeur « Null » http://blogs.developpeur.org/redo/archive/2008/02/01/nouveaut-s-vb-2008-vb-9-0-types-valeur-nullables.aspx Lève une exception Nothing”
    15. 22. <ul><li>Lambda opérateur «  Function  » </li></ul><ul><li>Se lit «  Function(myNum As Integer) conduit à myNum + 1  » </li></ul><ul><li>Utilisable chaque fois qu'un type délégué est valide. </li></ul><ul><li>Simplifications les entêtes d'une méthode anonyme </li></ul><ul><li>Fonction dans une expression récupérant le pointeur vers cette fonction ( Possibilité de récupérer un arbre d’expression) </li></ul>Une fonction ne possédant pas de nom permettant de calculer et retourner une valeur unique. http://blogs.developpeur.org/redo/archive/2008/02/04/nouveaut-s-vb-2008-vb-9-0-expressions-lambda.aspx
    16. 23. <ul><li>Littéraux XML </li></ul><ul><ul><li>d'incorporer directement du XML à votre code VB </li></ul></ul><ul><ul><li>Objets LINQ to XML </li></ul></ul><ul><ul><li>Namespace : « System.Xml.Linq » </li></ul></ul><ul><ul><li>Similaire à la syntaxe XML 1.0 mais pas identique </li></ul></ul><ul><li>Expressions Littérales XML  </li></ul>Visual Basic, au travers de LINQ to XML , permet un support étendu de l'XML grâce aux Littéraux XML et aux Propriétés d’Axes XML http://blogs.developpeur.org/redo/archive/2008/02/04/nouveaut-s-vb-2008-vb-9-0-expressions-lambda.aspx
    17. 24. <ul><li>Propriétés d'Axe XML : </li></ul><ul><ul><li>permettant d'accéder aux structures LINQ to XML et les parcourir.  </li></ul></ul><ul><ul><li>Permet d'accéder aux nœuds enfants, nœuds descendants et attributs d'un littéral XML </li></ul></ul><ul><li>Types d’Axes : </li></ul><ul><ul><li>axe enfant :  xml.<phone> </li></ul></ul><ul><ul><li>axe d'attribut : [email_address] </li></ul></ul><ul><ul><li>axe descendant : xml...<NomElement> </li></ul></ul><ul><ul><li>indexeur d'extension : xml...<NomElement>(0) </li></ul></ul><ul><ul><li>valeur : xml...<NomElement>.Value </li></ul></ul>
    18. 25. <ul><li>Gestion des Espaces de Noms XML : </li></ul><ul><ul><li>Spécifier un &quot;Alias&quot; afin d'identifier un espace de noms XML </li></ul></ul><ul><ul><li>Permet d'accéder : </li></ul></ul><ul><ul><ul><li>aux nœuds enfants, </li></ul></ul></ul><ul><ul><ul><li>nœuds descendants, </li></ul></ul></ul><ul><ul><ul><li>attributs d'un littéral XML </li></ul></ul></ul>
    19. 26. <ul><li>Représente une expression sous forme d’arbre </li></ul><ul><ul><li>AST : Abstract Syntax Tree </li></ul></ul><ul><ul><li>ASG : Abstract Semantic Graph </li></ul></ul><ul><li>Un arbre syntaxique est la représentation en mémoire d'un ensemble d'éléments de notre langage </li></ul>Sources : http://www.dotnetguru.org/articles/dossiers/creercompilo/compilateurdnet2.htm res = n * (n - 1);
    20. 27. <ul><li>Traduction des expressions lambda : </li></ul><ul><ul><li>Code IL </li></ul></ul><ul><ul><li>Abres d’expression (= code as data) </li></ul></ul><ul><ul><ul><li>Peut être analysé au Runtime </li></ul></ul></ul><ul><ul><ul><li>Utilisé dans les LINQ query providers (LINQ to SQL) </li></ul></ul></ul>Dim sq As Func ( Of Integer , Integer ) = Function (i) i * i Dim four = sq (2) Dim e As Expression ( Of Func ( Of Integer , Integer )) _ = Function (i) i * i * i i λ i
    21. 28. <ul><li>Une expression représente l’arbre d’objets qui représente l’expression passée en argument </li></ul>
    22. 29. <ul><li>Friend assemblies </li></ul><ul><ul><li>Attribut “VisibleTo” </li></ul></ul><ul><li>Agilité du Runtime </li></ul><ul><ul><li>Compile sans Microsoft.VisualBasic.dll </li></ul></ul><ul><ul><li>Origine de CF et Silverlight </li></ul></ul><ul><ul><li>Nouveau /vbruntime switch </li></ul></ul><ul><li>Inférence de types générics améliorés </li></ul>
    23. 30. http://blogs.developpeur.org/redo/archive/2008/02/04/nouveaut-s-vb-2008-vb-9-0-expressions-lambda.aspx
    24. 31. <ul><li>Visual Basic Dev Center & Content: </li></ul><ul><ul><li>http://msdn.com/vbasic/ </li></ul></ul><ul><li>VB Team Blog </li></ul><ul><ul><li>http://blogs.msdn.com/vbteam/ </li></ul></ul><ul><li>Refactor! for Visual Basic & Web developers </li></ul><ul><ul><li>http://msdn2.microsoft.com/en-us/vbasic/ms789083.aspx </li></ul></ul><ul><li>Nous contacter : </li></ul><ul><ul><li>[email_address] </li></ul></ul><ul><ul><li>[email_address] </li></ul></ul>
    25. 32. <ul><li>S’informer - Un portail d’informations, des événements, une newsletter bimensuelle personnalisée </li></ul><ul><li>Se former - Des webcasts, des articles techniques, des téléchargements, des forums pour échanger avec vos pairs </li></ul><ul><li>Bénéficier de services - Des cursus de formations et de certifications, des offres de support technique </li></ul>La référence technique pour les IT Pros : technet.microsoft.com L’engagement Microsoft pour les développeurs : msdn.microsoft.com Visual Studio 2008 + Abonnement MSDN Premium Abonnement TechNet Plus : Versions d’éval + 2 incidents support
    26. 33. © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. Votre potentiel, notre passion TM

    ×