Utilisation d'objets dynamiques (Visual Basic)
Les objets dynamiques fournissent une autre façon, autre que le type Object
, de créer une liaison tardive vers un objet au moment de l’exécution. Un objet dynamique expose des membres tels que des propriétés et des méthodes au moment de l’exécution à l’aide d’interfaces dynamiques définies dans l’espace de noms System.Dynamic. Vous pouvez utiliser les classes de l’espace de noms System.Dynamic pour créer des objets qui fonctionnent avec des structures de données et qui ne correspondent pas à un type ou à un format statique. Vous pouvez également utiliser les objets dynamiques définis dans des langages dynamiques comme IronPython et IronRuby. Pour obtenir des exemples montrant comment créer des objets dynamiques ou utiliser un objet dynamique défini dans un langage dynamique, consultez Procédure pas-à-pas : création et utilisation d'objets dynamiques, DynamicObjectou ExpandoObject.
Visual Basic se lie aux objets du runtime de langage dynamique et aux langages dynamiques tels que IronPython et IronRuby via l’interface IDynamicMetaObjectProvider. Les classes DynamicObject et ExpandoObject sont des exemples de classes qui implémentent l’interface IDynamicMetaObjectProvider
.
Si un appel à liaison tardive est effectué vers un objet qui implémente l’interface IDynamicMetaObjectProvider
, Visual Basic est lié à l’objet dynamique via cette interface. Si un appel à liaison tardive est effectué vers un objet qui n’implémente pas l’interface IDynamicMetaObjectProvider
, ou si l’appel à l’interface IDynamicMetaObjectProvider
échoue, Visual Basic se lie à l’objet à l’aide des fonctionnalités de liaison tardive du runtime Visual Basic.