使用动态对象 (Visual Basic)

Object 类型外,动态对象提供了另一种在运行时后期绑定到对象的方法。 动态对象在运行时通过使用在 System.Dynamic 名称空间中定义的动态接口公开成员,例如属性和方法。 可使用 System.Dynamic 命名空间中的类创建与静态类型或格式不匹配的数据结构的对象。 还可使用动态语言(如 IronPython 和 IronRuby)中定义的动态对象。 有关演示如何创建动态对象或使用动态语言中定义的动态对象的示例,请参阅演练:创建和使用动态对象DynamicObjectExpandoObject

Visual Basic 通过使用 IDynamicMetaObjectProvider 接口绑定到动态语言运行时和动态语言(如 IronPython 和 IronRuby)中的对象。 实现 IDynamicMetaObjectProvider 接口的类的示例包括 DynamicObjectExpandoObject 类。

如果对实现 IDynamicMetaObjectProvider 接口的对象进行后期绑定调用,Visual Basic 将通过使用该接口绑定到动态对象。 如果对未实现 IDynamicMetaObjectProvider 接口的对象进行后期绑定调用,或者对 IDynamicMetaObjectProvider 接口的调用失败,则 Visual Basic 将通过使用 Visual Basic 运行时的后期绑定功能绑定到该对象。

另请参阅