小编典典

ExpandoObject、DynamicObject 和 dynamic 的区别

all

System.Dynamic.ExpandoObjectSystem.Dynamic.DynamicObject有什么区别dynamic

您在哪些情况下使用这些类型?


阅读 95

收藏
2022-07-29

共1个答案

小编典典

dynamic关键字用于声明应该是后期绑定的变量。
如果你想使用后期绑定,对于任何真实的或想象的类型,你使用dynamic关键字,编译器会完成剩下的工作。

当您使用dynamic关键字与普通实例交互时,DLR会对实例的普通方法执行后期绑定调用。

IDynamicMetaObjectProvider接口允许类控制其后期绑定行为。
当您使用dynamic关键字与IDynamicMetaObjectProvider实现进行交互时,DLR
调用IDynamicMetaObjectProvider方法并且对象本身决定要做什么。

ExpandoObjectDynamicObjectIDynamicMetaObjectProvider.

ExpandoObject是一个简单的类,它允许您向实例添加成员并使用它们dynamic
DynamicObject是一种更高级的实现,可以继承它以轻松提供自定义行为。

2022-07-29