Utilizzo di oggetti dinamici (Visual Basic)
Gli oggetti dinamici offrono un altro modo, diverso dal tipo Object
, per eseguire l'associazione tardiva a un oggetto in fase di esecuzione. Un oggetto dinamico espone membri come proprietà e metodi in fase di esecuzione usando interfacce dinamiche definite nello spazio dei nomi System.Dynamic. È possibile usare le classi nello spazio dei nomi System.Dynamic per creare oggetti che funzionano con strutture di dati non corrispondenti a un tipo o formato statico. È anche possibile usare gli oggetti dinamici definiti in linguaggi dinamici, ad esempio IronPython e IronRuby. Per esempi che illustrano come creare oggetti dinamici o come usare un oggetto dinamico definito in un linguaggio dinamico, vedere Procedura dettagliata: Creazione e utilizzo di oggetti dinamici, DynamicObject o ExpandoObject.
Visual Basic esegue l'associazione agli oggetti dal runtime del linguaggio dinamico e dai linguaggi dinamici, ad esempio IronPython e IronRuby usando l'interfaccia IDynamicMetaObjectProvider. Esempi di classi che implementano l'interfaccia IDynamicMetaObjectProvider
sono le classi DynamicObject e ExpandoObject.
Se viene effettuata una chiamata ad associazione tardiva a un oggetto che implementa l'interfaccia IDynamicMetaObjectProvider
, Visual Basic viene associato all'oggetto dinamico utilizzando tale interfaccia. Se viene effettuata una chiamata ad associazione tardiva a un oggetto che non implementa l'interfaccia IDynamicMetaObjectProvider
o se la chiamata all'interfaccia IDynamicMetaObjectProvider
non riesce, Visual Basic esegue l'associazione all'oggetto usando le funzionalità di associazione tardiva del runtime di Visual Basic.