作用:允许在运行时任意设置对象的属性、事件等等。
场景一:对象结构的Json序列化/反序列化。示例代码如下
//注意:
// 1.using System.Dynamic
// 2.添加 Microsoft.CSharp.dll
dynamic obj1 = new ExpandoObject();
obj1.id = "1";
obj1.name = "fj";
obj1.age = 20;
string strJson = JsonConvert.SerializeObject(obj1);
dynamic obj2 = JsonConvert.DeserializeObject<ExpandoObject>(strJson);
string id = obj2.id;
string name = obj2.name;
int age = (int)obj2.age;
看到没有,不需要额外定义一个类。直接用动态对象即可!!!
相当灵活,感觉可持续发掘!
应该是从.net framework 4.0 开始支持的