C#4.0 Dynamic vs Expando…他们在哪里适合?
我正在尝试学习C#4.0附带的所有新东西。我无法理解
DynamicObject
和ExpandoObject
类型之间的差异。似乎使用了DynamicObject
,例如当你想用Python脚本访问变量时和ExpandoObject
与COM / Office对象交谈时。我对吗?它们的用途有何不同?
没有找到相关结果
已邀请:
1 个回复
末钉蹈泰唬
类型,可以在运行时添加(或删除)成员。
旨在允许.NET在与动态类型语言(如Python和JavaScript)连接时与类型进行互操作。 因此,如果您需要处理动态类型:使用
并且如果您需要处理动态数据(如XML或JSON):使用ExpandoObject expando的声明显示了dynamic和expando之间的关系:
并且能够添加新属性:
最后一行代码在expando对象中创建一个名为
的全新字符串属性。字符串类型是从赋值中推断出来的。 因此,expando是一种动态数据类型,可以表示动态变化的数据。简而言之就是这样。这是对动态和expando的深入了解。 完整的例子: