Поделиться через


Работа с динамическими объектами (Visual Basic)

Динамические объекты предоставляют другой способ, отличный от типа Object, позднего связывания с объектом во время выполнения. Динамический объект предоставляет элементы, такие как свойства и методы, во время выполнения, используя динамический интерфейс, который определен в пространстве имен System.Dynamic. В пространстве имен System.Dynamic есть возможность использования классов для создания объектов, работающих со структурами данных, не соответствующими статическому типу или формату. Также можно использовать динамические объекты, определенные в динамических языках, таких как IronPython и IronRuby. Например, для создания динамического объекта, определенного на динамическом языке, см. Пошаговое руководство. Создание и использование динамических объектов (C# и Visual Basic), DynamicObject или ExpandoObject.

Visual Basic создает привязку к объектам среды выполнения динамических языков и динамических языков, таких как IronPythonи и IronRuby, используя интерфейс IDynamicMetaObjectProvider. Примерами классов, реализующих интерфейс IDynamicMetaObjectProvider являются DynamicObject и ExpandoObject.

Если выполняется вызов с поздним связыванием в отношении объекта, который реализует интерфейс IDynamicMetaObjectProvider, то Visual Basic создает привязку к динамическому объекту с помощью этого интерфейса. Если выполнен вызов с поздним связыванием в отношении объекта, который не реализует интерфейс IDynamicMetaObjectProvider, либо произошел сбой вызова интерфейса IDynamicMetaObjectProvider, то Visual Basic создает привязку к объекту посредством возможностей позднего связывания среды выполнения Visual Basic.

См. также

Ссылки

DynamicObject

ExpandoObject

Основные понятия

Раннее и позднее связывание (Visual Basic)

Другие ресурсы

Пошаговое руководство. Создание и использование динамических объектов (C# и Visual Basic)