System.Dynamic.ExpandoObject和System.Dynamic.DynamicObject有什么区别dynamic?
System.Dynamic.ExpandoObject
System.Dynamic.DynamicObject
dynamic
您在哪些情况下使用这些类型?
该dynamic关键字用于声明应该是后期绑定的变量。 如果你想使用后期绑定,对于任何真实的或想象的类型,你使用dynamic关键字,编译器会完成剩下的工作。
当您使用dynamic关键字与普通实例交互时,DLR会对实例的普通方法执行后期绑定调用。
该IDynamicMetaObjectProvider接口允许类控制其后期绑定行为。 当您使用dynamic关键字与IDynamicMetaObjectProvider实现进行交互时,DLR 调用IDynamicMetaObjectProvider方法并且对象本身决定要做什么。
IDynamicMetaObjectProvider
和ExpandoObject类DynamicObject是IDynamicMetaObjectProvider.
ExpandoObject
DynamicObject
ExpandoObject是一个简单的类,它允许您向实例添加成员并使用它们dynamic。 DynamicObject是一种更高级的实现,可以继承它以轻松提供自定义行为。