Trabalhando com objetos dinâmicos (Visual Basic)
Objetos dinâmicos fornecem outra maneira, além do tipo Object
, de associar tardiamente a um objeto em tempo de execução. Um objeto dinâmico expõe membros como propriedades e métodos em tempo de execução usando interfaces dinâmicas definidas no namespace System.Dynamic. Você pode usar as classes no namespace System.Dynamic para criar objetos que funcionam com estruturas de dados que não correspondem a um tipo ou formato estático. Você também pode usar os objetos dinâmicos definidos em linguagens dinâmicas, como IronPython e IronRuby. Para obter exemplos que mostram como criar objetos dinâmicos ou usar um objeto dinâmico definido em uma linguagem dinâmica, consulte Passo a passo: Criando e Usando Objetos Dinâmicos, DynamicObject ou ExpandoObject.
O Visual Basic associa-se a objetos do runtime de linguagem dinâmica e linguagens dinâmicas, como IronPython e IronRuby, usando a interface IDynamicMetaObjectProvider. Exemplos de classes que implementam a interface IDynamicMetaObjectProvider
são as classes DynamicObject e ExpandoObject.
Se uma chamada de associação tardia for feita a um objeto que implementa a interfaceIDynamicMetaObjectProvider
, o Visual Basic será associado ao objeto dinâmico usando essa interface. Se uma chamada de associação tardia for feita a um objeto que não implementa a interface IDynamicMetaObjectProvider
ou se a chamada à interface IDynamicMetaObjectProvider
falhar, o Visual Basic se associará ao objeto usando os recursos de associação tardia do runtime do Visual Basic.