Les objets "dynamics" dynamics

Au travers des sections précédentes, nous avons écrit de jolies classes avec de jolis noms dans de jolis fichiers .cs. Pour une rédaction de type "script" à la mode Python, il existe une autre façon de faire : les dynamics.

Tout commence par le mot-clé dynamic qui informe le compilateur que ce qui va suivre n’a rien de static. D’ailleurs, l’exécution du code sous-jacent s’effectuera dans la DLR (Dynamic Language Runtime), qui est une surcouche rajoutant à notre CLR des fonctionnalités dynamiques.

Le code se poursuit par l’instanciation d’un objet implémentant l’interface System.Dynamic.IDynamicMetaObjectProvider, comme par exemple l’objet prêt à l’emploi ExpandoObject qui va recevoir « à la volée » des déclarations de propriétés et de méthodes. On peut imaginer que ces informations puissent provenir d’un fichier de configuration modifiable par l’utilisateur qui alimenterait le programme sans avoir à le recompiler.

Le code suivant autocommenté présente un cas d’utilisation. La déclaration des propriétés et de leurs valeurs est très simple. Par contre, l’ajout d’une méthode passe par une syntaxe un peu particulière appelée "expression lambda" que nous présenterons dans le chapitre Communication...

couv_RI4CAPOO.png

Découvrez 

le livre :

Aussi inclus dans nos :

Précédent
Les objets "gourmands" en références faibles
Suivant
Les "Tuple" et "ValueTuple"