C#4 : un typage dynamique des objets
Décryptage avec codes à l'appui des principales nouveautés des versions 4 et 5 du langage de développement orienté objets de Microsoft, avec Didier Girard, directeur de l'innovation de Sfeir.
Article rédigé par Didier Girard, directeur de l'innovation de Sfeir.
La principale innovation de C#4 réside dans les objets typés dynamiquement. Avec ce dispositif, les objets ne sont plus typés durant la phase de compilation, mais durant la phase d'exécution.
Cette fonctionnalité, directement issue des langages dynamiques, peut considérablement simplifier des cas précis de développement, comme illustré ci-dessous. En revanche, elle fragilisera la qualité des développements en amenant des "erreurs" qui ne pourront être détectées qu'en phase d'exécution au travers de bugs.



Paramètres optionnels
Il est maintenant possible d'avoir des paramètres optionnels. Cette nouveauté, attendue depuis un certain temps, va simplifier l'écriture de beaucoup de code. Voici un exemple de son utilisation :

On déclare une méthode qui a un paramètre fixe (path) et trois paramètres optionnels (encoding, detectEncoding et bufferSize). Il est possible de déduire que ces paramètres sont optionnels car ils ont une valeur par défaut, ce qui permettra de les initialiser s'ils ne sont pas présents lors de l'appel de la méthode.
Une fois cette méthode déclarée, il est possible de l'appeler de différentes manières :



Après C# 4
La nouveauté annoncée pour l'après C# 4 concernera la possibilité d'offrir une API sur le compilateur, ce qui permettra de compiler et d'exécuter du code à la volée. Ceci pourrait être intéressant pour faire de la configuration logicielle : Les fichiers de configuration ne seraient plus des fichiers statiques, mais des programmes C#.
Article rédigé par Didier Girard, directeur de l'innovation de Sfeir.