[PDC] Under The Hood: Advanced In The .NET Type System
Je ne vais pas revenir sur le Keynote, qui a déjà été couvert maintes et maintes fois mais je vais me concentrer sur un résumé des sessions auxquelles j’ai assisté aujourd’hui.
La première était animée par Misha Shneerson (et Andrew Whitechapel) et tentait de fournir une réponse à un problème fréquent lorsque l’on fait du développement Office/interop COM: Comment supprimer le déploiement des PIAs (Primary Interop Assemblys), qui sont la passerelle entre le monde .NET et le monde COM (en effet, les PIAs d’Office 2007 pèse 6,3 Mo !)
Pour palier à ce problème, la prochaine version de Visual Studio et du Framework .NET (VS 10/.NET 4) introduira le concep de “Type Embedding”. Il s’agit d’une nouvelle fonctionnalités de la CLR 4.0 qui permet d’embarquer, au sein d’une assembly .NET, l’ensemble des informations nécessaire pour appeler un objet COM. Pour cela, il suffit de mettre à True la propriété “Embed Interop Type”, au niveau de la référence et le tour est joué 
Au niveau des règles de bases, elles sont simples mais importantes:
- Seules les métadatas sont stockées dans l’assembly
- Seul les type des Interop Assemblys peuvent-être embarqués
A la compilation, l’instanciation d’un objet COM est remplacé par un appel à la méthode Activator.CreateInstance(Type.GetTypeFromCLSID(monGuid))
Les notions de “Type Coupling”/“Type Equivalence” permettent, quand à elles, d’écrire un addin pour n’importe quelle version des PIAs (mais sans qu’il soit nécessaire de les déployer). Autrement dit, cela signifie qu’il est possible de développer un addin avec les PIAs d’Office 2007 mais de le déployer sur du Office 2003 !
En conclusions, le speaker rappelle que les prochaines versions des compilateurs C#/VB.NET permettront d’intégrer les types d’une interfaces dans une assembly .NET, ceci afin de simplifier le déploiement et de minimiser la taille des assemblys. De plus, la CLR introduit le support de l’équivalence de type qui est “type safe” , qui permet le “multi-targeting”, etc.
Personnellement, j’ai trouvé la session très intéressante bien que très rapide et d’un niveau relativement élevé. Une chose est sûre: la prochaine version de VS et du Framework .NET s’annonce très prometteuse 
A+
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :