[技巧.DotNet]超级好用的动态对象ExpandoObject

作用:允许在运行时任意设置对象的属性、事件等等。
场景一:对象结构的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 开始支持的

MSDN链接:https://docs.microsoft.com/en-us/dotnet/api/system.dynamic.expandoobject?redirectedfrom=MSDN&view=netframework-4.0

原文地址:https://www.cnblogs.com/fj365/p/13295431.html